|
v7: Многопоточность — миф или реальность? | ☑ | ||
---|---|---|---|---|
0
bigdenis22
29.11.16
✎
18:32
|
Возможно ли выполнение кода в параллельном потоке? Например опрос датчиков на КОМ-портах, весов, - в фоновом режиме?
Для работы с ком портами используются паузы, и когда идет опрос портов раз в 2 секунды, - невозможно комфортно редактировать форму документа. нашел такую тему : Кто нибудь создавал потоки на 1С 7.7 ? попробовал прикрутить КОМПОНЕНТу VTOOLs, но при создании потока 1с валится, вроде нашел, что не совместима с FormEx. Ещё пишут, что в DialMail обмен почтой может запускаться в отдельном потоке, но похоже, в моей ситуации это не поможет... Может кто решал подобные задачи? поделитесь опытом? |
|||
72
Злопчинский
30.11.16
✎
19:26
|
(71) возможность чего? вот есть мое приложение 1сная обработка или какой-то 1Сный1 код.
как мне программно получит или быть оповещенным о приходе данных с вскрытием конверта-оповещения и получения данных..? |
|||
73
Кирпич
30.11.16
✎
19:30
|
(72) ну как обычно. в ВК работает поток, который постоянно опрашивает весы. вызываешь метод ВК, который возвращает текущий вес. если надо, ВК постоянно выводит вес в отдельном окне.
|
|||
74
Torquader
30.11.16
✎
21:08
|
(73) В отдельном окне в 7.7 очень проблематично - семёрка использует очередь сообщений, и при переходе кода со строки на строку идёт опрос очереди сообщений - тогда всё и прорисовывается, а вот когда выполняется отчёт или другая деятельность 1С, не требующая встроенного языка - очередь сообщений подвисает, если мы что-то выведем в окно через SendMessage - мы будем ждать освобождения очереди. Если после освобождения зайдут к нам, то будет DeadLock и всё.
Так что - обновлять окна 1С должна только по своей инициативе. |
|||
75
Кирпич
30.11.16
✎
21:12
|
(74) ну я как бы в курсе чо там и как подвисает
|
|||
76
Garykom
гуру
30.11.16
✎
21:51
|
(33) Не нужны там ни формекс ни 1с++, штатной ОбработкаОжидания() прекрасно все делается.
В коде (32) просто несусветная глупость с "глСистема.Уснуть(..);"
|
|||
77
Garykom
гуру
30.11.16
✎
21:51
|
IdleProcessing(<?>,)
ОбработкаОжидания(<?>,) Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры). Параметры: <ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается. <ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>. Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается. |
|||
78
Garykom
гуру
30.11.16
✎
21:53
|
(76)+ Дополнение, если конфа уже использует ОбработкаОжидания() то нуна не забывать что может только одна "периодического запуска" работать, можно сохранить имя предыдущей обработки и вызывать ее когда нуна в своей.
|
|||
79
Garykom
гуру
30.11.16
✎
22:00
|
(76)+ Чтобы "штатно" обновлять на форме "вес", пишем его в "Перем глВес" в глобальнике.
И задаем формулу "ТекущийВес()" для текстового поля где
|
|||
80
Garykom
гуру
30.11.16
✎
22:05
|
Да если юзер работает (набирает текст в поле ввода) то вызов обработки ожидания обычно выделяет все введенное в поле и следующим нажатием символа введенные до этого символы того...
|
|||
81
Garykom
гуру
30.11.16
✎
22:12
|
Кста штатная обработка ожидания в 7.7 пашет в "отдельном потоке", но любое взаимодействие с базой и данными (включая глобальные переменные) вызывает блокировки (фризы интерфейса).
С переменными не так заметно, но если в ней начать документы проводить (у меня в некоторых старых конфах такое сделано) то фризы ощутимые :) |
|||
82
Garykom
гуру
30.11.16
✎
22:38
|
(79) Да "без работы на форме", т.е. без переходов между элементами формы, нажатий кнопок и т.д., т.е. без событий вызывающих перерисовку форму (перетаскивание не помогает) текст нифига не обновится сам и уже нужны извращения с Форма.Обновить().
Посмотри вот часики https://cloud.mail.ru/public/LSTZ/jWuzNnNmE |
|||
83
Torquader
01.12.16
✎
00:47
|
Насколько я помню, нажатие ALT и вызов меню останавливают как обработку ожидания, так и вообще все обмены интерфейса, так как меню вызывает свой обработчик очереди событий, которые все ненужные ему события отправляет котику под хвостик.
|
|||
84
Garykom
гуру
01.12.16
✎
00:56
|
Ну пора уже 77 на заслуженный отдых.
|
|||
85
Torquader
01.12.16
✎
00:59
|
(84) В некоторых местах ещё клиппер работает, так что 7.7 ещё поживёт, пока есть кому конденсаторы на мамках перепаять.
|
|||
86
Garykom
гуру
01.12.16
✎
01:04
|
(85) Мдя, сча уже кондеры не спасают.
Вот где бы взять недорого мамки под 775 ? |
|||
87
Djelf
01.12.16
✎
01:06
|
(86) Фигня! arduino преспособим! ;)
|
|||
88
Garykom
гуру
01.12.16
✎
01:13
|
(87) Смешно но иногда хочется купить им планшеты вместо компов... Только 1С77 на андроиде не очень, но тут МС подсуетился и выпустил на Win10 дешевые и даже с hdmi выходом.
А переходник hdmi-vga стоит 200 рублей. |
|||
89
Garykom
гуру
01.12.16
✎
01:14
|
(88)+ Но эта Windows 10 убивает настройкой конечно.
|
|||
90
Злопчинский
01.12.16
✎
01:16
|
Обработка ожидания - зло
|
|||
91
Garykom
гуру
01.12.16
✎
01:17
|
Зло это из учетной системы хрен знает что делать. Когда давно есть JS в браузере.
|
|||
92
Djelf
01.12.16
✎
01:19
|
(91) +100
|
|||
93
Злопчинский
01.12.16
✎
01:31
|
Зачем постоянно допрашивать вес? Не проще ли дождаться сигнала о поступлении веса?
|
|||
94
Это_mike
01.12.16
✎
07:11
|
(78) формексовских обработок ожидания, емнип, может быть много - каждая управляется отдельно
|
|||
95
DrZombi
гуру
01.12.16
✎
07:25
|
Зачем вообще в 7.7 многопоточность? :)
|
|||
96
Это_mike
01.12.16
✎
07:32
|
(95) Щоб булО!®
|
|||
97
ADirks
01.12.16
✎
07:44
|
(94) я вот тоже так думал... оказалось - нет
|
|||
98
NorthWind
01.12.16
✎
08:04
|
(89) а чем там настройка особенно отличается от Windows 7, к примеру?
|
|||
99
NorthWind
01.12.16
✎
08:06
|
(93) ну во-первых, можно хотеть полную копию дисплея весов на компе. Чтобы было видно как он меняется. Во-вторых, многие весы не имеют такого функционала как отдача окончательного веса, они просто возвращают содержимое своего дисплея по запросу и в этом содержимом есть признак стабильности веса - нестабилен или стабилен.
|
|||
100
Mankubus
01.12.16
✎
08:21
|
100
|
|||
101
bigdenis22
01.12.16
✎
11:11
|
(93) (99) У нас сейчас устанавливаются весы, которые, если будут сами выдавать вес, без запроса, то его считывать будет очень гиморно... передают слово в 14 бит, первый раз вес в первой половине, второй - во второй... и так через раз...
а если по запросу - то все ок, всё постоянно... менять весы не предлагать, только эти весы живут нормально в наших условиях агресивных сред (высшая IP защита) за вменяемые деньги. НО , в ближашем будущем, появится необходимость получать показания с других датчиков по запросу и выводить их на форму. Еще раз повторюсь, необходимо, что-бы на форме (на экране) у оператора отображались оперативные данные с датчиков, чтоб он видел, какие данные запишутся при нажатии кнопки. |
|||
102
bigdenis22
01.12.16
✎
11:17
|
(76) спасибо, идея понятна, буду думать как можно у себя это прикрутить...
просто у меня уже есть 5 типов датчиков(весов)и ещё будет добавлятся, работа с которыми описана в глобальной функции ПолучитьВес(), кусочек которой я приводил выше. |
|||
103
Garykom
гуру
01.12.16
✎
11:18
|
(98) В Win7 переход после WinXP был простой, вот те "панель управления" где все в одном виде и понятно.
В Win10 тупейшая смесь нового и старого, как и в Win8 только чуть чуть получше. Например скажите как отключить запрос пароля при загрузке (автологон сделать)? Да по прежнему работает "control userpasswords2" но на планшетах клавы то немае хардварной обычно... |
|||
104
Garykom
гуру
01.12.16
✎
11:19
|
(103)+ "клавы немае" это к вопросу вызова шортката Win+R
|
|||
105
Garykom
гуру
01.12.16
✎
11:20
|
(102) Рефакторинг наше все, когда пишешь нечто большое то иногда 2-3 раза переписывать приходится. Потому что "первый блин комом" это классика жанра.
|
|||
106
NorthWind
01.12.16
✎
11:38
|
(103) Например скажите как отключить запрос пароля при загрузке (автологон сделать)?
Первая же ссылка при поиске - https://lifehacker.ru/2015/02/18/avtomaticheskij-vhod-windows-10-tp/ |
|||
107
Garykom
гуру
01.12.16
✎
11:41
|
(106) "Сделайте правый клик на кнопке «Пуск» в левом нижнем углу экрана."
Как??? Как сделать "правый клик" без мышки на сенсорном экране? |
|||
108
Garykom
гуру
01.12.16
✎
11:42
|
(107) и да я в курсе что "долгий тап", но в инструкции по "первой ссылке" об этом ни слова!
|
|||
109
Кирпич
01.12.16
✎
11:42
|
(102) вот наваял такой вариант
в отдельном потоке опрашивает весы, показывает вес в отдельном окне. по требованию возвращает текущий вес. этот шкилет можно доработать до полной красоты с датчиками и прочими блэкджеками. http://i85.fastpic.ru/big/2016/1201/32/9e6d3a1810a32665671fdf14c8425432.png |
|||
110
NorthWind
01.12.16
✎
11:43
|
А подцепить bluetooth, к примеру, клаву не вариант? У меня даже к айпэду получалось ее цеплять, винда-то уж точно понимает
|
|||
111
NorthWind
01.12.16
✎
11:44
|
(110) к (107), (108)
|
|||
112
Garykom
гуру
01.12.16
✎
11:44
|
(110) Ха девайсы на Win10 это "обычные компы" и большинство имеют usb-host так что переходник и обычная клава/мышка не проблема.
Суть то не в этом а в тупизне разрабов M$ |
|||
113
Garykom
гуру
01.12.16
✎
11:46
|
(109) Думаешь ТС или его работодатели готовы платить? Были бы готовы уже давно наняли спеца.
|
|||
114
NorthWind
01.12.16
✎
11:47
|
(112) Вам просто нужно разобраться со вводом на устройстве, потому что ввод нестандартный, не такой как на десктопе. Разрабы тут ни при чем.
|
|||
115
Кирпич
01.12.16
✎
11:48
|
(113) думаю нет. я чисто по доброте душевной. решил попрограммировать немножко.
|
|||
116
Garykom
гуру
01.12.16
✎
11:48
|
(114) Эээ а нафуя было засовывать десктопную ось на планшету?
|
|||
117
Garykom
гуру
01.12.16
✎
11:49
|
(116)+ Причем в тоже самое время страдая непонятно чем и засовывая планшетный интерфейс в десктопную ось.
Эти вот плитки в Win8 были таким извратом на компах/ноутах без тача )) |
|||
118
Garykom
гуру
01.12.16
✎
11:50
|
(117)+ *принудительно засовывая
|
|||
119
NorthWind
01.12.16
✎
11:50
|
(116) потому что на это есть спрос. И пользоваться этим при желании можно, надо только включить голову в процесс.
|
|||
120
Garykom
гуру
01.12.16
✎
11:54
|
(119) Да пользоваться можно, но включать голову это доп.затраты на которые можно пойти только при необходимости и(или) отсутствии вариантов.
А еще нуна с собой эту голову не забыть, что и подсказыает статистика продаж планшетов на андроид и на виндовс. |
|||
121
Garykom
гуру
01.12.16
✎
11:55
|
(120)+ В смысле планшеты на win это замечательная штука но для специфического применения с использованием специалистов.
|
|||
122
NorthWind
01.12.16
✎
11:56
|
(120) не хотите забивать голову - не надо! Есть леново йога и сурфейс про. Там клава в комплекте и все прекрасно и легко. Несите ваши денежки.
|
|||
123
Кирпич
01.12.16
✎
11:57
|
пацаны вам сюда http://4pda.ru/
|
|||
124
NorthWind
01.12.16
✎
11:58
|
Ну да, оффтоп. Закругляюсь, тем более что это спор о фломастерах
|
|||
125
Garykom
гуру
01.12.16
✎
12:09
|
(123) Туда я только по делу, там флудить плохо получается, аудитория отмороженная ))
|
|||
126
Garykom
гуру
01.12.16
✎
12:10
|
(123) Кста это пример когда форум стал основным в отличие от исходной странички, как и миста.
|
|||
127
bigdenis22
01.12.16
✎
12:27
|
(113) (115) ну как бы зря... готовы и заплатить. в разумных пределах :)
|
|||
128
Кирпич
01.12.16
✎
12:29
|
(127) так платите быстрее пока художник в запой не ушел
|
|||
129
Garykom
гуру
01.12.16
✎
12:31
|
(128) +1
вариант с правильной ВК наилучший |
|||
130
bigdenis22
01.12.16
✎
12:55
|
(109) Интересная особенность новой версии:
запускаю на терминале, порты пробрасываются в сессию, при запуске тест.ерт отваливается порт... F:\Documents and Settings\denis>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:133\tsclient\COM1 COM2 = \Device\Serial1 COM7 = \Device\RdpDrPort\;COM7:133\tsclient\COM7 LPT1 = \Device\RdpDrPort\;LPT1:133\tsclient\LPT1 PRN = \DosDevices\LPT1 F:\Documents and Settings\denis>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:133\tsclient\COM1 LPT1 = \Device\RdpDrPort\;LPT1:133\tsclient\LPT1 PRN = \DosDevices\LPT1 весы на ком7 (в обработке поправил) до этого было все норм. |
|||
131
Кирпич
01.12.16
✎
13:01
|
(130) хрен знает. я в терминале не пробовал.
|
|||
132
Кирпич
01.12.16
✎
13:05
|
в инете надо поглядеть
http://forum.oszone.net/post-2019225.html |
|||
133
Кирпич
01.12.16
✎
13:12
|
отправил другой вариант. может заработает
|
|||
134
bigdenis22
01.12.16
✎
16:41
|
(133) результаты наблюдений:
Ком7 это действительно подключение через ЮСБ переходник, и порт отваливается (только на последних двух версиях ВК). переключил на КОМ1 в мамке, - он не отваливается, но и никаких данных по КОМ порту не ходит, смотрю "Serial Port Monitor" ... что локально, что на терминале commScales commError Параметр задан неверно при этом, включаю старый вариант (на MSCOMM) работает на ура. |
|||
135
Кирпич
01.12.16
✎
16:45
|
(134) покаж код
|
|||
136
Кирпич
01.12.16
✎
16:45
|
у меня всё работает
|
|||
137
bigdenis22
01.12.16
✎
17:25
|
(76) спасибо за идею. переписал получение данных вот так:
ИначеЕсли РабочееМесто.ТипТО=Перечисление.ТипыВесов.SMART Тогда //SMART Если Весы.PortOpen <> 0 Тогда Если ЖдемПоказаний=1 Тогда Если Весы.InBufferCount < 13 Тогда //Возврат; Иначе Буфер= СокрЛП(Весы.Input); пВес = Сред(Буфер,2,8); глВес=Число(пВес); ЖдемПоказаний=0; КонецЕсли; КонецЕсли; Весы.Settings = "19200,N,8,1"; Весы.Output = Симв(080)+Симв(013); // команда P + возврат каретки ЖдемПоказаний=1; пВес = глВес; // Сообщить("прием+++"+Строка(Буфер)+"\\(("+Сред(Буфер,2,8)+"))//"); КонецЕсли; ИначеЕсли РабочееМесто.ТипТО=Перечисление.ТипыВесов.CAS_Ci2001A Тогда // CAS_Ci2001A функция вызывается каждую секунду, у меня фризов не наблюдается. завтра проверим на боевом рабочем месте. (135) я в твоей конфиге и обработке пробовал (после того как в моей перестало показывать), только КОМ менял на 7 и на 1. |
|||
138
Кирпич
01.12.16
✎
17:30
|
(137) а 19200 нарисовал тоже? там вроде 9600 было.
странно, что не работает. у меня как часы. |
|||
139
Кирпич
01.12.16
✎
17:32
|
строка должна быть "19200,8,N,1"
может ты строку "19200,N,8,1" там поставил? |
|||
140
Кирпич
01.12.16
✎
17:33
|
скорее всего :)
|
|||
141
bigdenis22
01.12.16
✎
18:06
|
ВК.Старт("COM1","9600,8,N,1",10000,500,Симв(080)+Симв(013),"",1);
кстати да, только счас обратил внимание - в предыдущей версии не было параметров порта... может из-за скорости и сложился конфуз... счас проверю. |
|||
142
bigdenis22
01.12.16
✎
19:25
|
+ (141) поменял скорость на 19200, - то же самое
commScales commError Параметр задан неверно |
|||
143
Кирпич
01.12.16
✎
19:30
|
Я думал ты 8 и N перепутал. По идее такая ошибка при конфиге порта должна вылететь. Завтра найду сканер, попробую. На виртуальных портах все работает. Даже через RDP.
|
|||
144
Serginio1
01.12.16
✎
20:18
|
||||
145
Кирпич
01.12.16
✎
20:45
|
+(143) можно еще 0 вместо 1 поставить в параметрах. 0 у меня значит 1 бит четности.
|
|||
146
Кирпич
01.12.16
✎
20:47
|
(144) я уж думал не придешь
|
|||
147
trdm
01.12.16
✎
20:59
|
(137) > функция вызывается каждую секунду, у меня фризов не наблюдается. завтра проверим на боевом рабочем месте.
Нафиг такой опрос на операторском месте??? |
|||
148
Кирпич
01.12.16
✎
21:22
|
Тьфу блин. Не четности, а стоп бит. Короче "19200,8,N,0"
|
|||
149
Serginio1
01.12.16
✎
21:37
|
(146) Я думал ты сам посоветуешь
Использование классов .Net в 1С для новичков |
|||
150
Кирпич
01.12.16
✎
22:57
|
Проверил на нульмодемном кабеле. И точно! Если 1, то выдает ошибку. Короче 19200,8,N,0 и будет работать.
|
|||
151
bigdenis22
02.12.16
✎
10:35
|
(147) что-бы на форме "оперативно отображались изменения показаний... допустимо раз в 2 секунды, раз в 3 секунды ещё можно, но уже менее комфортно. большая скважность - негодится.
(150) сейчас буду посмотреть. |
|||
152
bigdenis22
02.12.16
✎
12:11
|
(150) локально заработало, но с разрядностью что-то не так:
000006 это 64, 68 кг. может в 1 с возвращать целиком буффер? а там вычленять? |
|||
153
losky_9
02.12.16
✎
12:18
|
||||
154
bigdenis22
02.12.16
✎
12:38
|
+ (152) и в окошке и в сообщении перед " 000006" идет непечатный символ типа буквы "г" в обратную сторону... наверно разделитель какой то.
кстати, обратил внимание, ты считываеш 8 бит из порта : [02/12/2016 11:33:21] Written data 50 0d P. [02/12/2016 11:33:21] Read data 02 20 30 30 30 30 30 35 . 000005 [02/12/2016 11:33:21] - Close port COM1 а я 13 [02/12/2016 11:35:56] Read data 02 20 30 30 30 30 30 32 33 4b 47 4d 0d . 0000023KGM. [02/12/2016 11:35:56] Written data 50 0d P. [02/12/2016 11:35:57] Read data 02 20 30 30 30 30 30 32 31 4b 47 20 0d . 0000021KG . |
|||
155
Salimbek
02.12.16
✎
12:45
|
(154) Вероятно, что подразумевалось "ты считываешь 8 байт"
|
|||
156
Salimbek
02.12.16
✎
12:46
|
Но правильнее - до символа-терминатора считывать, 0d вроде...
|
|||
157
Кирпич
02.12.16
✎
12:49
|
(154) ну там просто стоит считывать всё подряд. нужно до терминатора считывать или чего там весы передают.
|
|||
158
Кирпич
02.12.16
✎
12:55
|
отправил новую версию. последний параметр - терминатор
|
|||
159
Кирпич
02.12.16
✎
12:56
|
типа так теперь запускать
ВК.Старт("COM3","19200,8,N,0",10000,500,Симв(080)+Симв(013),"",1,Симв(013)); |
|||
160
Кирпич
02.12.16
✎
13:06
|
потом сделаю чтобы можно было в поток код JS передавать и пускай читает пишет что угодно. типа очень универсально.
|
|||
161
Salimbek
02.12.16
✎
13:07
|
(160) И эти люди запрещают мне писать на Ruby ! :-)
|
|||
162
Кирпич
02.12.16
✎
13:08
|
(161) да пиши, пиши.
|
|||
163
Кирпич
02.12.16
✎
13:11
|
(161) ну и у меня будет всё в одной dll. JS будет встроенный. Или интерпретатор СИ встроенный. Или оба два.
|
|||
164
Кирпич
02.12.16
✎
13:13
|
А потом моя ВК станет международной шахматной столицей.
|
|||
165
Torquader
02.12.16
✎
13:15
|
Чем вам ещё и JS упёрся - видимо - проблемы со сборкой мусора и залочкой объектов из-за этого вам просто не знакомы ?
|
|||
166
Кирпич
02.12.16
✎
13:22
|
(165) Да какая нафиг сборка мусора. Просто примитивные скрипты писать. Типа прочитал из порта, чего нибудь сделал и в 1с отправил.
Просто весы такая фигня, что универсально, без программирования ничего не получится. Какие нибудь весы, например, могут вес в формате BCD каком нибудь передавать. И чего с ними делать тогда? А так в скрипте все преобразования сделал и вернул в 1с красивое значение. |
|||
167
Кирпич
02.12.16
✎
13:23
|
я ж не собираюсь NodeJS туда запихивать. Хотя пригодилось бы кому нибудь :)
|
|||
168
Torquader
02.12.16
✎
13:30
|
(166) Был такой язык Pascal Script, он как-то попонятнее выглядел.
А если Microsoft Script Control прикручивать, то там VbScript есть - язык, в котором в функции и процедуры все параметры по ссылке передаются, и он быстрее JavaScript, реализованного в том же Microsoft Script Control. |
|||
169
Кирпич
02.12.16
✎
13:33
|
(168) ну вот что-то из этого можно взять. или сразу треш в виде tcc
|
|||
170
uno-group
02.12.16
✎
13:53
|
vk_rs232 вполне нормально работает. неправильно построен алгоритм работы с весами. Сейчас тоже бьюсь с весами. Ушел нафик от всех шатных мозгов. тензодатчики + Своя платка с ардулино и далее хоть в сеть хоть в ком порт, хоть в вайфай, хоть блюпуп. 20-30 баксов за электронику и весы выдают данные как мне нужно.
|
|||
171
Serginio1
02.12.16
✎
15:11
|
(152) Там по ссылке в 144 есть отчет правда на 8 ке есть отчет TestSerialPort
Внутри данные получаются Процедура DataReceived(Данные) sp1 = Данные.sender; ШтрихКод = sp1.ReadExisting(); Компорт = sp1.PortName; Сообщить(СтрШаблон("ШК=%1 Порт=%2",ШтрихКод,Компорт)); КонецПроцедуры Можешь читать как массив байт bytes = sp1 .BytesToRead; buffer = Врап.СоздатьМассив("System.Byte",bytes); sp1 .Read(buffer, 0, bytes); Ну и обрабатывай массив байт как тебе хочется |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |