Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
ВнизМассив с данными. Найти похожие ветки
← →
callback (2006-12-13 20:38) [0]Есть массив с данными "array of Byte", с например таким содержанием:
$12, $34, $56, $74, $65, $73, $74, $73, $74, $72, $69, $6E, $67, ...
И мне необходимо из этого массива считывать данные специальным образом:
Надо например считать из массива с начальной позиции Word - это $12, $34 = 4660.
А потом надо считать Byte с 3 элемента - это $56. А потом нужно считать с 4 элемента string длиною 10 символов - это "teststring".
Как такое осуществить?
← →
Kolan © (2006-12-13 20:53) [1]> Как такое осуществить?
Запрограммировать. Нужен цикл и мозги. С чем проблема пока не понятно.
← →
Eraser © (2006-12-13 20:58) [2]> [0] callback (13.12.06 20:38)
> И мне необходимо из этого массива считывать данные специальным
> образом:
если этот "специальный образ" однообразен, т.е. повторяется, то нужно организовать цикл.
> Надо например считать из массива с начальной позиции Word
> - это $12, $34i := 0;
w := MakeWord(a[i], a[i + 1]);
> А потом надо считать Byte с 3 элемента - это $56b := a[i + 2];
> А потом нужно считать с 4 элемента string длиною 10 символов
> - это "teststring".
не совсем понял, что такое "4 элемента string длиною 10 символов" )) из byte в char можешь перевести ф-цией chr.
← →
sniknik © (2006-12-13 22:09) [3]
procedure TForm1.Button1Click(Sender: TObject);
type
TMasType = packed record
Wrd : Word;
Bte : Byte;
Str1: array[0..9] of char;
...
end;
var
ByteArray: array[0..SizeOf(TMasType)-1] of byte;
EnumArray: TMasType absolute ByteArray;
begin
Move("1231234567890", ByteArray, SizeOf(TMasType));
...
Label1.Caption:= EnumArray.Str1;
...
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c