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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
1-1085909777
ork
2004-05-30 13:36
2004.06.13
ListBox, прокрутка.


4-1083737022
Olja
2004-05-05 10:03
2004.06.13
Звонок на городские номера


14-1085366688
Fay
2004-05-24 06:44
2004.06.13
У меня сегодня младщему сыну год 8))


3-1085032891
Alex_x
2004-05-20 10:01
2004.06.13
технология доступа в MIDAS?


3-1085111806
Илья
2004-05-21 07:56
2004.06.13
работа с кпк