Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: CL | DM;

Вниз

array of Byte   Найти похожие ветки 

 
mry   (2007-06-25 20:00) [0]

Есть допустим такая структура

type
 TMyItem = record
   Data1: LongWord;
   Data2: LongWord;
   Data3: array of Byte;
 end;


Дальше она где-то заполняется и вот вопрос, у меня Data3 заполнен, но потом мне необходимо получить из Data3 "число", или даже хуже нужно сделать xor с "числом" внутри Data3. Каким образом это сделать?

Т.е. про что я говорю, например. Length(data3) = 4.

$00
$00
$00
$FF

т.е. у нас если считать это числом будет 255.

А нужно ещё например сделать $000000FF xor $.... (data3 xor ....)


 
KilkennyCat ©   (2007-06-25 20:02) [1]

var
 myItem : TMyItem
begin
 ... := myItem.Data3[0] xor ...
end;


 
Loginov Dmitry ©   (2007-06-25 20:42) [2]

PInteger(@data3[0])^ := PInteger(@data3[0])^ xor ....


 
mry   (2007-06-25 20:49) [3]

Спасибо. А если у меня Data3 будет Pointer, что в таком случае делать?


 
Loginov Dmitry ©   (2007-06-25 20:51) [4]

В таком случае: PInteger(data3)^


 
Kolan ©   (2007-06-25 20:57) [5]

> PInteger(@data3[0])^ := PInteger(@data3[0])^ xor &#133

Пипец :(


 
Loginov Dmitry ©   (2007-06-25 21:36) [6]

Пипецнейший пипец ))


 
palva ©   (2007-06-25 22:51) [7]


$00
$00
$00
$FF

т.е. у нас если считать это числом будет 255.


Это у кого "у нас"? На процессоре x86 это будет число $FF000000, так что если вы хотите интерпретировать эту последовательность байтов как четырехбайтное целое 255, вам надо перевернуть порядок байтов.


 
Kolan ©   (2007-06-25 23:00) [8]

Каким образом это сделать?
&#133

Есть допустим такая структура


Сделай класс

Дальше она где-то заполняется и вот вопрос
Добавь метод Assign

но потом мне необходимо получить из Data3
Сделай свойство обрашения по индексу Items[Index: Integer]

даже хуже нужно сделать xor с «числом» внутри Data3

Сделай метод XorData(Index: Integer)

Моё имхо.



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

Текущий архив: 2007.07.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
2-1182894622
Vlad Oshin
2007-06-27 01:50
2007.07.22
Помогите "переинициализировать" сервис


2-1182862205
Krants
2007-06-26 16:50
2007.07.22
SQL, удалить индексированое поле


15-1182330618
sergeyst
2007-06-20 13:10
2007.07.22
Найти макс из чисел, встречающееся в матрице более 1-го раза


1-1179298884
Влад
2007-05-16 11:01
2007.07.22
Проблема печати


2-1182846767
zvm
2007-06-26 12:32
2007.07.22
Неожиданное-рядом!! (или как прервать программу?)