![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
array of Byte [D7]
mry © (2007-06-25 20:00:00)Есть допустим такая структура
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 ....)
Kolan (2007-06-25 23:00:00) [1]Каким образом это сделать?
Есть допустим такая структура
Сделай класс
Дальше она где-то заполняется и вот вопрос
Добавь методAssign
но потом мне необходимо получить из Data3
Сделай свойство обрашения по индексуItems[Index: Integer]
даже хуже нужно сделать xor с «числом» внутри Data3
Сделай методXorData(Index: Integer)
Моё имхо.
palva (2007-06-25 22:51:00) [2]
$00
$00
$00
$FF
т.е. у нас если считать это числом будет 255.
Это у кого "у нас"? На процессоре x86 это будет число $FF000000, так что если вы хотите интерпретировать эту последовательность байтов как четырехбайтное целое 255, вам надо перевернуть порядок байтов.
Loginov Dmitry (2007-06-25 21:36:00) [3]Пипецнейший пипец ))
Kolan (2007-06-25 20:57:00) [4]> PInteger(@data3[0])^ := PInteger(@data3[0])^ xor
Пипец :(
Loginov Dmitry (2007-06-25 20:51:00) [5]В таком случае:
PInteger(data3)^
mry (2007-06-25 20:49:00) [6]Спасибо. А если у меня Data3 будет Pointer, что в таком случае делать?
Loginov Dmitry (2007-06-25 20:42:00) [7]
PInteger(@data3[0])^ := PInteger(@data3[0])^ xor ....
KilkennyCat (2007-06-25 20:02:00) [8]var
myItem : TMyItem
begin
... := myItem.Data3[0] xor ...
end;