Название: Формат данных Отправлено: demaker от Август 15, 2013, 10:23 Скажите.
Как сделать так, что информацию, которую я набиваю в QLineEdit была представлена в hex. Т.е. 1 в строковом формате -> переводилась как 1 hex. Название: Re: Формат данных Отправлено: voral от Август 15, 2013, 11:11 Скажите. Не совсем понятно задача. А если 10 введено? Как сделать так, что информацию, которую я набиваю в QLineEdit была представлена в hex. Т.е. 1 в строковом формате -> переводилась как 1 hex. Если я правильно понял. Вам хочется введеное в инпут десятично число отобразить в 16ричном виде? Тогда несколько наводок: Код: qint16 t = youtrlineedit.text().toInt(); // вот мы превратили строку в число Название: Re: Формат данных Отправлено: demaker от Август 15, 2013, 11:23 только чтобы этот 16-ричный код можно было запихнуть в порт
типа пишем B lineEdit: 10 00 8f 8f 16 и это в хексе уходит в порт. Код: QByteArray data; Название: Re: Формат данных Отправлено: LisandreL от Август 15, 2013, 11:54 Код
Название: Re: Формат данных Отправлено: demaker от Август 15, 2013, 12:18 Код
Пишем посылку: 10 20 30 А в итоге 102030 переведет в hex В итоге неправильно все будет Название: Re: Формат данных Отправлено: voral от Август 15, 2013, 12:28 Сдается какието задачи решают. НА cyberforum.ru дали ответ на подобны вопрос. (пользователь l_a_m)
Код: QString str = QString("0x01 0x40 0x55 0x66"); Название: Re: Формат данных Отправлено: Bepec от Август 15, 2013, 13:07 demaker - сплить перед использованием fromHex. И каждую часть переводи в hex. Тогда будет тебе счастье.
Название: Re: Формат данных Отправлено: LisandreL от Август 15, 2013, 14:59 И что это будет БудетПишем посылку: 10 20 30 А в итоге 102030 переведет в hex В итоге неправильно все будет data[0]==16==0x10 data[1]==32==0x20 data[2]==48==0x30 Если вам нужно не это, то объясняйте понятнее, что вам нужно. Можно с примерами. Название: Re: Формат данных Отправлено: Majestio от Август 20, 2013, 11:01 только чтобы этот 16-ричный код можно было запихнуть в порт типа пишем B lineEdit: 10 00 8f 8f 16 и это в хексе уходит в порт. Код: QByteArray data; В порт уходит не в хексе, в порт уходит в байтах)). Потому задача более другая ... перевести QString в QByteArray с учетом смены системы исчисления. ИМХО, алгоритм должен быть примерно следующим: 1) Введенную строку сплитим на "строки-числа" 2) В цикле преобразуем "строки-числа" из п.1 в байты и загружаем их в QByteArray с учетом системы исчисления 3) Загоняем результат в порт ЗЫ: Следует иметь ввиду, что запись в порт нужно делать не указателя QByteArray-переменной, а брать ссылку на массив данных посредством: char * QByteArray::data () |