Страница 1 из 1

Терминал сбора данных

Добавлено: 18 Май 2021, 17:31
gopstop2007
Есть китайский терминал с которого импорт данных на компьютер, собранные данные в виде списка (штрих код, кол-во) сбрасываются в блокнот или в открытый Excel. Попросили автоматизировать данный процесс. Проверил Clipboard() не используется.
Создал окно в нем поле l_loadWorkData STRING(4096). Парсю перебором всех символов. Разделитель поставил ';' , но не получается определить конец строки CR, определяю так:

Код: Выделить всё

l_CLRF           EQUATE('<13,10>')
r_symb	     STRING(1)
r_field           BYTE
r_fieldAdd      STRING(256)    
CODE

    lastEnd# = LEN(CLIP(l_loadWorkData))
    r_field = 1
    LOOP i# = 1 TO lastEnd#
        r_symb = l_loadWorkData[i#]
        ! ====== записываем в поля ==============
        IF (r_symb =';' OR r_symb ='ж' OR r_symb ='Ж')
            ! штрих код
            IF l_pBCsort = r_field 
                Any1Table_m:str2 = r_fieldAdd                
            END
            ! кол-во
            IF l_pBCsort = r_field 
                Any1Table_m:str1 = r_fieldAdd
            END
            
            r_fieldAdd = ''
            r_field += 1
       ! ========== конец строки =================     
        ELSIF (r_symb = CHR(13) OR r_symb = '<13>' OR r_symb = l_CLRF) ! НЕ ВИДИТ ОКОНЧАНИЕ СТРОКИ
            Any1Table_m:id = next#
            ADD(Any1Table_m)
            l_loadWorkData = ''
            next# += 1
        ! ========== считываем по символам ========    
        ELSE
            r_fieldAdd = CLIP(r_fieldAdd) & r_symb    
        END    
    END
Может кто сталкивался и есть решение, без блокнота или Excel :)
Спасибо за внимание.

Терминал сбора данных

Добавлено: 18 Май 2021, 18:03
finsoftrz
Окончание строки может иметь один код <10>. В юниксовых приладах так обычно бывает. Гляньте файло в шестнадцатеричном редакторе (far или чем пользуетесь).

Терминал сбора данных

Добавлено: 19 Май 2021, 9:52
gopstop2007
finsoftrz писал(а): 18 Май 2021, 18:03 Окончание строки может иметь один код <10>. В юниксовых приладах так обычно бывает. Гляньте файло в шестнадцатеричном редакторе (far или чем пользуетесь).
Спасибо большое, Вы правы, проверил, работает. :ty: