Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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, $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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
3-1161253972
просто_человек
2006-10-19 14:32
2006.12.31
Помогите с растановкой приоритетов


15-1165849280
Шариков
2006-12-11 18:01
2006.12.31
Файлы типа PSR


15-1166040455
palva
2006-12-13 23:07
2006.12.31
Gmail открыли для всех


15-1165923956
novill
2006-12-12 14:45
2006.12.31
Перепись Ростовчан :)


4-1156501872
Тфьу
2006-08-25 14:31
2006.12.31
Как отловить ошибку макроса Excel?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский