Главная страница
    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
14-10013
Феликс
2002-06-03 14:21
2002.07.04
Почему в форуме нет раздела


3-9705
DPashin
2002-06-10 09:08
2002.07.04
Как переконвертировать Long v VarChar2 ?


14-9970
SleD
2002-06-02 14:41
2002.07.04
Вопрос к участникам Spedia


14-10017
dimonf
2002-06-01 10:45
2002.07.04
Приму участие в разработке коммерческого проекта.


3-9714
Jen_Bond
2002-06-11 01:33
2002.07.04
Взаимодействие с 1С





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