Главная страница
    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.006 c
6-9953
BlackGrin
2002-04-19 21:26
2002.07.04
Определение IP


7-10036
Rail
2002-04-06 09:38
2002.07.04
Сетевой диск без стандартного диалога Windows


7-10033
alexspb
2002-04-09 18:52
2002.07.04
Как узнать имя пользователя-владельца файла в WinNT?


1-9863
greenrul
2002-06-21 14:33
2002.07.04
StringGrid - как сделать верхние хреновины нажимаемыми.


1-9772
Groove
2002-06-19 17:00
2002.07.04
Multimedia!!!





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