Форум: "Основная";
Текущий архив: 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.006 c