![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компилятор насчитал 1+1=1. Почему? Привожу код: [D5, D7, Win95/98, Win2k]
AAAlexeyAAA © (2004-06-13 19:55:00)type TPoint = record
X : longint;
Y : longint;
end;
type Tochka = record
ArrayPoint : array of TPoint;
Rastoyanie : array of integer;
end;
var RecArray : Tochka;
Courses : array [1..8] of TPoint=((X:0;Y:-1),(X:1;Y:-1),(X:1;Y:0),(X:1;Y:1),(X:0;Y:1),(X:-1;Y:1),(X:-1;Y:0),(X:-1;Y:-1));
localpoint : TPoint;
begin
RecArray.ArrayPoint[0].X := 1;
RecArray.ArrayPoint[0].Y := 1;
for count:=Low(RecArray.ArrayPoint) to High(RecArray.ArrayPoint) do
begin
For count2:=1 to 8 do
begin
localpoint.X := RecArray.ArrayPoint[count].X + Courses[count2].X;
localpoint.Y := RecArray.ArrayPoint[count].Y + Courses[count2].Y;
------------------
На шаге count=0, count2=4 (координата:(1,1))
localpoint.X = 1, a localpoint.Y = 2. Почему?
Ставлю брейкпоинт. Первое слагаемое 1, второе тоже 1. Сумма =1
В чём проблема?
default (2004-06-13 20:01:00) [21]SetLength забыл