Проверяет полученный блок на соответствие
* Передача блока
COM_SEND(1, XMOBLOCK(cData, nBlockNum, lChkMode))
nBlockNum := nBlockNum +1 // Следующий блок
nPointer := nPointer +nBlkSize // Смещение в файле
* Чтение следующей порции данных
cData := FILESTR("TEST.TXT", nBlkSize, nPointer)
ENDDO
See Also: COM_CRC()
XMOCHECK()
Проверяет полученный блок на соответствие протоколу XMODEM.
------------------------------------------------------------------------------
Синтаксис
XMOCHECK(<cString>, [<lCRC>]) --> nBlockNumber
Параметры
<cString> - символьная строка, содержащая проверяемый блок данных.
<lCRC> - необязательный логический параметр, задающий при значении .T.
проверку по 16-битовому CRC-коду, а при значении .F. или по умолчанию
проверку по простой 8-битовой контрольной сумме.
Возвращаемое значение
nBlockNumber - номер блока в диапазоне от 0 до 255 при соответствии
блока протоколу XMODEM, а иначе (-1).
Описание
Функция проверяет полученный блок на соответствие протоколу XMODEM.
Способ проверки задается параметром <lCRC>, а длина проверяемого блока
опознается по заголовку, имеющему значение CHR(1) для 128-байтового и
CHR(2) для 1024-байтового блока. Если ошибок не обнаружено, то
возвращается номер блока.
Примечания
. Выделение информации после проверки блока может быть осуществлено
вызовом SUBSTR(cBlock, 4, 128) для 128-байтового блока или
SUBSTR(cBlock, 4, 1024) для 1024-байтового блока.
. В состав программных примеров, поставляемых с CT II, входит
Clipper-программа, реализующая протокол XMODEM.
. CRC-кодом называется контрольная порция информации (обычно
добавляемая к основной), формируемая по правилам умножения полиномов и