Показать сообщение отдельно
Старый 30.03.2009, 07:49  
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 1001
Репутация: 1091

Типы аргументов:

'd' : integer (размер 4 байта)
'D' : back_int (integer обратный (4 байта, первый байт - старший)
'c' : byte / char (размер 1 байт)
'f' : double (размер 8 байт, float)
'p' : single (размер 4 байта, float)
'h' : word (размер 2 байта)
'q' : int64 (размер 8 байта)
's' : WideString (размер - до первых нулевых байт)
'b' : array[int] // массив, первый инт (первые 4 байта) - размер. общий размер = +4 байта.
'x' : array[byte] // массив, первый байт - размер, общий размер = +1 байт
'-' : пропуск размером '0000' '-(0000Desc)'
'z' : array[const] // блок фикс. размером '0000'. 'z(0000Desc)'
'a' : AsciiString // ANSI фикс. размером '0000'. 'a(0000Desc)'
't' : Ascii[byte] // ANSI, первый байт - размер, общий размер= +1 байт
'l': AsciiZ // 'l(0000Desc)'
// ANSI до первого нулевого символа
// либо до максимальной фиксированной длины '0000',
// если макс. = 0 то максимальная фиксированная длина ограничена размером пакета.
'v': vardat' // размер и цвет аргумента зависит от ф-ции GT2.name(ar1,pos,psize,pcol):res;
// см арг-ф-ции 'GET','GT2','FOR','VFR'
'R' : remark // R(любая строка отображаемая ниже описания пакета)
else : 'unknown';

циклы:
на примерах:
d(Count:For.0065) - здесь: берется WORD (d) как значение для цикла следущих 65 аргументов. 'Count' - название данного аргумента.

c(Счетчик:For.0004) - здесь: берется BYTE (c) как значение для цикла следущих 4 аргументов. 'Счетчик' - название данного аргумента.
c(Счетчик:For.0104) - здесь: берется BYTE (c) как значение для цикла следущих 4 аргументов пропуская один следущий аргумент.

динамика маркера GT2 сложнее, опишу потом.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 
Ответить с цитированием
Сказали спасибо:
RFbager (31.03.2009)