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

превод 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 вся ветка

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



Память: 0.47 MB
Время: 0.007 c
3-9723
Slavik_D
2002-06-08 13:27
2002.07.04
Как проще переделать локальную прогру на сетевую


14-9994
kaif
2002-06-04 02:55
2002.07.04
Word -> PDF


14-9991
Vad
2002-05-30 09:00
2002.07.04
;-)


3-9761
maxim2
2002-06-11 11:01
2002.07.04
Как удалить все записи из таблицы


3-9702
serg_ss
2002-06-10 16:13
2002.07.04
Почему в IB SQL-запросе 10 - null = null




   Наверх