G
George Potemkin
Guest
Workaround: the missed chunk of input data can be re-read using READKEY function - just 1K from the beginning of a block. Like that: INPUT FROM VALUE(ipInputFile) BINARY. SEEK INPUT TO ipBlockOffset. ASSIGN LENGTH(opRawBlock) = ipBlockSize. IMPORT UNFORMATTED opRawBlock. ASSIGN vReadSize = SEEK(INPUT) - ipBlockOffset. IF vReadSize GT ipBlockSize THEN DO: ASSIGN vReadSize = vReadSize - ipBlockSize. IF ipBlockSize GT vReadSize THEN PUT-BYTES(opRawBlock, vReadSize + 1) = GET-BYTES(opRawBlock, 1, ipBlockSize - vReadSize). SEEK INPUT TO ipBlockOffset. REPEAT vReadByte = 1 TO vReadSize: READKEY PAUSE 0. IF LASTKEY LT 0 THEN LEAVE. PUT-BYTE(opRawBlock, vReadByte) = LASTKEY. END. /* REPEAT vReadByte */ END. /* IF vReadSize GT ipBlockSize */ INPUT CLOSE.
Continue reading...
Continue reading...