Здравствуйте, подскажите как быстро преобразовать строку string*20 в байтовый массив?
я сейцчас делаю так
Dim Input_buffer_str As String * 20
Dim Getstr As String * 1
Dim Getbyteinstr(20) Byte
Dim Crcstr As Byte
Dim Crcstr1 As Byte
Dim Crcstr2 As Byte
.....................
Tmp = Len(input_buffer_str) ' пакет не нулевой
If Tmp > 0 Then
Getstr = Mid(input_buffer_str , 1 , 1)
Getbyteinstr(1) = Asc(getstr) 'адрес устройства
If Getbyteinstr(1) = 254 Or Getbyteinstr(1) = Табло_адрес Then
Getstr = Mid(input_buffer_str , 2 , 1)
Getbyteinstr(2) = Asc(getstr) 'длинна полезного пакета БЕЗ СРС8!!!
If Getbyteinstr(2) < Tmp Then
Crcstr = Getbyteinstr(2) + 1 ' если длинна пакета правильноя то идем дальше
For I = 3 To Crcstr
Getstr = Mid(input_buffer_str , I , 1)
Getbyteinstr(i) = Asc(getstr) 'загоняем пакет в массив c CRC8
Next
Getstr = Mid(input_buffer_str , Crcstr , 1)
Crcstr2 = Asc(getstr) 'получаем срс в покете
Input_buffer_str = Mid(input_buffer_str , 1 , Getbyteinstr(2)) ' обрезаем строку без срс
Crcstr1 = Crc8(input_buffer_str , 3) ' выщитываем срс
If Crcstr1 = Crcstr2 Then
....................но это както громоздко
Отредактировано Penumbra (2016-12-13 19:09:40)

