Главная страница
    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.44 MB
Время: 0.048 c
2-1165897474
Kvinta
2006-12-12 07:24
2006.12.31
Вернуть Field а ADO


15-1165853094
Мистер Т
2006-12-11 19:04
2006.12.31
Компонгент "Календарь"


15-1165600580
Гоблин
2006-12-08 20:56
2006.12.31
DELPHI 10


3-1161230788
Tornado
2006-10-19 08:06
2006.12.31
Работа с SQL, база dbf


2-1165688668
DiX
2006-12-09 21:24
2006.12.31
Обрезание Currency





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский