|
|
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
wadman, да да. Там все есть. Подскажи как array of byte в TBytes перевести. Эта строка изначально была сжата через zlib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 14:01 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
dartveider13Подскажи как array of byte в TBytes перевести. Это одно и тоже. авторTBytes declares an array of Bytes. The TBytes type declares a dynamic array of Bytes. Где тебе это нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 14:20 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
Получается следующее. Подсчитывая количество прочитанных данных Код: pascal 1. 2. 3. 4. 5. 6. 7. Показывает несколько подходов. Но итоговая сумма всегда одна и та же. Я так понял что идет проход несколько раз. Но т к строка была сжата zlib-м он для распаковки хочет принять в себя тип TBytes. Вот я и не знаю как сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 14:23 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
ZDecompressStr из zlib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 14:24 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
Есть вроде просто ZDecompress, но пока понять как это работает не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 14:47 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
Есть еще функция Move, но и она что то не хочет: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:13 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
TBytes этот тоже array, только динамический. Задать ему размер можно с помощью Setlength. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:21 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
wadman, Код: pascal 1. 2. 3. 4. Ничего не выводит, а по отладчику после чтения с компота abc - пустой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:31 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
dartveider13, точнее после прочтения даже дальше ничего не происходит. Винда аж потухла и сканер тупанул ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:35 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
dartveider13точнее после прочтения даже дальше ничего не происходит. Потому что идет ожидание 3000 байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:35 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
wadman, наверное да. А как правильно? Внутренний Count использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:37 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
wadman, Код: pascal 1. 2. 3. Вылетает AV. По отладчику Count до чтения равен 64, а после уходит в минус((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 15:41 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
dartveider13, считай по символам. Не понятно, когда связь может оборваться в реальности и порт может никогда эти 64 байта не получит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 16:43 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
wadmanсчитай читай :) (по одному символу или байту) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 16:46 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
dartveider13, вот как читать в динамический массив, если процедура имеет нетипизированный var-аргумент: Код: pascal 1. 2. 3. 4. 5. Но есть ещё один момент - данные из компорта приходят порциями, их нужно собирать и склеивать вместе, пока не наберётся полный пакет, пригодный для обработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 20:03 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
MBo, да я это заметил, что данные приходят порциями. Получается надо наверное завести глобальную переменную и читать в нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 05:29 |
|
||
|
TComPort & Сканер ШК Symbol DS6707 & AztecCode
|
|||
|---|---|---|---|
|
#18+
MBo (отдельно за совет с abc[0]), и всем всем всем спасибо за участие. Основные вопросы решены. Дальше я думаю уже дело техники. Вобщем подводя итоги: 1) Вопрос по настройке сканера ШК. Тут конечно сам тупанул. Забыл совсем, что чтобы сканер корректно работал в режиме COM, он должен корректно определятся в Диспетчере устройств. Здесь меня ввел в заблуждение стандартный Последовательный порт (COM1) в системе (я наивно подумал, что это сканер, а отсоединить сканер и посмотреть осталось ли устройство не додумался). В итоге после того как на каком-то сайте я увидел настройку др сканера и там в разделе КОМ увидел именованый сканер, то до меня дошло и я кинулся искать дровишки. Нашел на оф сайте дровишки и скачал именно с оф сайта мануал, т к там настроечный ШК, который мне был нужен более корректный. Перепечатал страницу настроечного ШК, установил дровишки, пикнул ШК из табл 7-6 USB CDC Host. И вуаля))) Сканер заработал в режиме компота))) 2) По остальному. Поначалу я довольствовался режиму клавиатуры (со скрипом), но потом встала задача печатать 2-й ШК, в котором много букв (2-3 страницы А4). Опять же погуглив, я не нашел ничего лучше чем пользоваться библиотекой zlib, сжимая строку. С рисованием ШК получилось неплохо, но вот с расшифровкой появились вопросы именно потому что функции zlib по сжатию и распаковке строки всасывают в себя только тип TBytes. Выводя количество считанных данных за один проход, я увидел, что то что писал MBo. Данные приходят кусками. Но заделка уже была - Read(abc[0], Count); (мне надо было узнать как именно в TBytes можно считывать) В итоге: В работающем примере получился следующий код. Конечно скорее всего не самый элегантный, но это только пример. Дальше будет перенос на основную программу. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Еще раз всем спасибо за участие!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 06:36 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39620542&tid=2041088]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 515ms |

| 0 / 0 |
