Здравствуйте, подскажите как быстро преобразовать строку 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)