Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 23:06   #1
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию Чтение из массива

Всем здрасте!
Короче, такой вопрос:
Как из array of byte выделить значение допустим integer, т.е с 5 по 8 байт записано это значение... Или вопрос по-другому: как преобразовать массив из 4 байт в тип integer?
Hottabych вне форума Ответить с цитированием
Старый 24.05.2009, 23:23   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

Цитата:
Как из array of byte выделить значение допустим integer, т.е с 5 по 8 байт
в динамических массивах нумерацыя идет с 0, а значит второе число (integer) будет начинаться с индекса 4 а не 5.. ниже код который тебе нада..

Код:
var ab:aray of byte;
     i:integer;
begin
{****
заполняем массив
****}
  move(ab[4], i, 4);
  ShowMessage(IntToStr(i));
begin;
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 25.05.2009, 09:02   #3
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Ntlegend Посмотреть сообщение
в динамических массивах нумерацыя идет с 0
Фишка в том, что в массиве могут быть записаны значения разных типов...

И еще вопрос, может банальный, но: как записываются значения типа integer в памяти, то бишь, например, число 500 занимает 2 байта, но если тупо сложить 1-ый байт со 2-ым получается лажа?, или это все на битовом уровне?
Hottabych вне форума Ответить с цитированием
Старый 25.05.2009, 10:18   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

500 =младший байт ;$F4 старший $01
Код:
edit1.Text:=inttostr($01*256+$f4);//результат 500
SERG1980 вне форума Ответить с цитированием
Старый 25.05.2009, 11:03   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
могут быть записаны значения разных типов...
Может тебе тогда лучше применять Variant?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.05.2009, 20:18   #6
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

Нет, наверное мне лучше использовать поток...
Просто я загружал бут сектор в массив, а потом уже его разбирал... Дело в том, что из всего сектора мне нужно максимум 5-6 значений...
Hottabych вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение двумерного массива из тектового файла ToxaRUS Общие вопросы C/C++ 3 15.04.2009 18:39
PHP: использование элемента массива как массива Sudia Помощь студентам 1 20.02.2009 20:48
Чтение массива из текстового файла. Metil Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.01.2009 22:53
чтение из файла в два массива Frog25 Общие вопросы C/C++ 2 26.06.2008 12:15
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44