Russian Qt Forum
Апрель 29, 2024, 16:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Код символа  (Прочитано 6043 раз)
Гимнаст
Гость
« : Октябрь 30, 2011, 13:39 »

Привет!
Надо получить символ по его коду.
В начале я получаю код символа(строка типа "a,b,c"):
Код:
QStringList mylist=lineEdit_3->text().split(",");		
int* str=new int[mylist.length()];
for (int i=0;i<mylist.length();i++)
str[i]=mylist[i][0].toAscii();

потом по хранящемуся в массиве res числам 97,98,99 я должен получить a,b,c. По идее я должегн это сделать с помощью метода fromAscii. вот это выдает кракозябру какую-то:
Код:
char ch=(char)res[0];	
lineEdit_4->setText(QString::fromAscii(&ch));
for (int i=1;i<mylist.length();i++)
lineEdit_4->setText(lineEdit_4->text()+","+QString::fromAscii(&ch));
« Последнее редактирование: Октябрь 30, 2011, 13:58 от Гимнаст » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Октябрь 30, 2011, 14:39 »

код из символа:
Код
C++ (Qt)
QStringList mylist = lineEdit_3->text().split(",");
QList<int> codes;
foreach (const QString &symbol, mylist)
   codes += symbol.at(0).toAscii();

символ из кода:
Код
C++ (Qt)
QString newText;
foreach (int code, codes)
   newText += QChar(code) + ",";
newText.chop(1); // убрать лишнюю последнюю запятую
lineEdit_4->setText(newText);
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.125 секунд. Запросов: 22.