![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| andrewr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 16.2.2006 Репутация: нет Всего: нет |
привет, нужна помощь есть:
var mass: array [1..4] of byte; i:integer; begin i:=$11223344; как мне сделать чтобы: mass[1]:=$11; mass[2]:=$22; mass[3]:=$33; mass[4]:=$44; просто надо числа заносить в масиве динамически - тоесть i будет менятся. Зарание спасибо! -- будет чтото типа етого: for i:=$11223344 to $22334455 do begin mass[1]:= mass[1]:= mass[1]:= end Это сообщение отредактировал(а) andrewr - 30.9.2007, 22:33 |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
Используй shl и shr для вытаскивания нужного байта из хекса.
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| Shaggy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 2.5.2007 Где: г.Ижевск Репутация: 2 Всего: 5 |
старый способ:
или LongRec(I).Bytes[0] etc |
|||
|
||||
| andrewr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 16.2.2006 Репутация: нет Всего: нет |
Shaggy Спасиба
|
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 5 Всего: 12 |
А что делать если массив из 9 байт:
Какой тип переменной I использовать. Или дуругой способ есть??? Можно пример??? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
ivan219, если массив больше чем на 8 байт, то такое представление i:=$11223344; и не возможно, разве что только как строку.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 5 Всего: 12 |
Это я понял Int64 имеет 8 байт а как строку я реализовал просто думал по другому получится. А по поводу shl и shr что??? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
ну с ними все просто если из Ворда нужно вытащить например младший байт, то делаем операцию and c $00FF, если старший то shr 8, т.е. сдвиг всех бит вправо на 8 бит, значит старший станет младшим, а вместо старшего будут нули, аналогично для двойного слова можно делать и т.д. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| andrewr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 16.2.2006 Репутация: нет Всего: нет |
for i:=1 to 4 do
test[i]:=amss_adress shr (32-(8*i)); сделал
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |