Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Массив с данными.   Найти похожие ветки 

 
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, $34

i := 0;
w := MakeWord(a[i], a[i + 1]);


> А потом надо считать Byte с 3 элемента - это $56

b := 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
2-1165594616
a1lex
2006-12-08 19:16
2006.12.31
Работа с DBGrid


15-1165438654
ferr
2006-12-06 23:57
2006.12.31
Может кто и не знает :)


15-1165951639
Petr V. Abramov
2006-12-12 22:27
2006.12.31
Вторничные задачки :)


2-1166020242
dis12345
2006-12-13 17:30
2006.12.31
перебор Label ов


3-1161248513
term1t
2006-10-19 13:01
2006.12.31
Dataset not in insert or edit mode