Вниз
Скачать: CL | DM;

Записи   Найти похожие ветки 

← →
Anton   (2004-06-01 19:18) [0]

Вопрос: Есть такой кусочек кода  
.............
A = packed record
   B: Integer;
   C: Integer;
 end;
.............
var
 D: Integer;
...........
begin
 D := 10;
 A(D).B := 20;// ошибка в несоответствии типов
 A(D).C := 30;
end;

Как сделать так, что бы ошибка исчезла?


← →
Тимохов ©   (2004-06-01 19:20) [1]


> Anton   (01.06.04 19:18)  

а надо ли...


← →
Тимохов ©   (2004-06-01 19:20) [2]

Что вы вообще хотите сделать?
А если за d будет другая переменная.
Вы же таким макаром ее попортите.


← →
Palladin ©   (2004-06-01 19:23) [3]

Конечно будет несоответствие типов. Ты пытаешься 4 байта привести к 8 байтам, что за чушь?


← →
Anatoly Podgoretsky ©   (2004-06-01 19:24) [4]

Разберись, что такое массивы в языках программирования.


← →
Тимохов ©   (2004-06-01 19:26) [5]


> Palladin ©   (01.06.04 19:23) [3]

чушь полная.
но все интересно понять, что он воолще хочет.
может ему это и надо - чтобы уметь обращаться к 4 байтам за переменной d.
Не говорит же :))  Молчит ...


← →
Anton   (2004-06-01 19:29) [6]

Отвечаю. Взял у знакомого его код. Так у него в конце такой подпрограмки в переменной D число 60. Как так получается я и пытаюсь понять?


← →
default ©   (2004-06-01 19:32) [7]

компилятор хитрец
так катит(естес-но)
var
D: Int64;
...
A(D).B := 20;
а так нет
var
D: Integer;
...
A(Int64(D)).B := 20;
то есть не забивает на тип D при приведении


← →
Palladin ©   (2004-06-01 19:33) [8]

Ты хочешь сказать это его код в точности?


← →
Тимохов ©   (2004-06-01 19:34) [9]


> Anton   (01.06.04 19:29) [6]
> Отвечаю. Взял у знакомого его код. Так у него в конце такой
> подпрограмки в переменной D число 60. Как так получается
> я и пытаюсь понять?

тогда вас понять сложно.
вы же сами сказали, что код не компилится?


← →
default ©   (2004-06-01 19:36) [10]

вот так его накалывай
A(Pointer(@D)^).B := 20;


← →
Anton   (2004-06-01 19:37) [11]

Тимохов ©   (01.06.04 19:34) [9]
>тогда вас понять сложно.
>вы же сами сказали, что код не компилится?

сильно упрощенный код



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
1-1085826961
Alek
2004-05-29 14:36
2004.06.13
Как расшифровать строку?


14-1085777429
Yorick
2004-05-29 00:50
2004.06.13
Кто-где живет?


6-1082550007
BigVova
2004-04-21 16:20
2004.06.13
сеть и права пользователя


9-1076597279
komok
2004-02-12 17:47
2004.06.13
Хранение и загрузка графики в 2Д.


4-1082840520
vertal
2004-04-25 01:02
2004.06.13
Помогите разобраться с доступом к содержимому окна вывода консоли




   Наверх