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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.228 c
1-1085340531
Antichrist
2004-05-23 23:28
2004.06.13
Поиск Алгоритма


14-1085745433
ISP
2004-05-28 15:57
2004.06.13
Самый Главный Патч от Микрософт.


1-1086106246
Anton
2004-06-01 20:10
2004.06.13
Еще раз о записях


3-1084960613
M126
2004-05-19 13:56
2004.06.13
Выбор из текстового файла


6-1082877505
Daniel
2004-04-25 11:18
2004.06.13
Сокеты в Unix





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский