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

Вниз

превод integer в массив byte   Найти похожие ветки 

 
{bas}   (2002-06-20 12:47) [0]

Привет всем!!!
Не подскажите как перевести integer, float и т.д. в массив byte


 
kull   (2002-06-20 12:51) [1]

Может так?

type
a: array[0..3] of byte;
i: Integer;
begin
Move(i,a[0],SizeOf(i));
end;


 
{bas}   (2002-06-20 13:04) [2]

>>kull
да спасибо, только наверное Move(i,a,SizeOf(i));


 
kull   (2002-06-20 13:12) [3]

Move(i,a,SizeOf(i));
Move(i,a[0],SizeOf(i));

Да и так и так можно.


 
PVOzerski   (2002-06-20 13:15) [4]

А также:
1)

var
a:array[0..3]of byte;
b:integer absolute a;

2)
type
tArray=array[0..3]of byte;
var
a:tArray;
b:integer;
...
a:=tArray(pointer(@b)^);

3)
var
ab:record
case integer of
0:(a:array[0..3]of byte);
1:(b:integer);
end;


 
{bas}   (2002-06-20 13:21) [5]

спасибо


 
MBo   (2002-06-20 13:23) [6]

4) как вариант 2

i:integer;
p:pbytearray;

p:=@i;
p[3]:=5;


 
kull   (2002-06-20 15:04) [7]

С absolute и указателями тоже вариант.
Один недостаток - разные переменные а область памяти одна.
Не подходит когда надо чтобы исходные данные остались неизменными.


 
PVOzerski   (2002-06-20 15:40) [8]

2kull © (20.06.02 15:04):
Так ведь игра в absolute, записи и указатели - для возможности использовать нормальный оператор присваивания := вместо move!


 
kull   (2002-06-20 17:15) [9]

Да да верно...


 
kull   (2002-06-20 17:29) [10]

Хотя с другой стороны - как присваивать массив через ":=" ?


 
Coalycat   (2002-06-20 17:38) [11]

Как комментарий к варианту MBo ©. Иногда приходится байты местами переставлять.


 
PVOzerski   (2002-06-20 18:27) [12]

2kull © (20.06.02 17:29):
Сейчас свой пример (2) преспокойно откомпилил в D3 и D6


 
kull   (2002-06-20 18:43) [13]


> Сейчас свой пример (2) преспокойно откомпилил в D3 и D6

Откомпилить то откомпилил но если присвоить: a[0] := 0,
то поменяется и содержимое b что не всегда желательно, т.е. присваивание это не простой перенос содержимого а манипуляции с одной и той же областью памяти.

есть разница integer или указатель на integer...



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

Форум: "Основная";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
14-9978
Katja
2002-06-02 08:57
2002.07.04
Hook


3-9752
sashag
2002-06-12 17:38
2002.07.04
Функции пользователя в BDE Local SQL


14-9998
Илья_____
2002-06-04 13:03
2002.07.04
RX & D6


3-9770
Саша
2002-06-09 15:51
2002.07.04
Запретить удаление по Ctrl+delete


7-10029
Bah
2002-04-10 08:43
2002.07.04
Подключение второго монитора





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