Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо