crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QTranslator
ruzik
  опции профиля:
сообщение 3.4.2011, 19:38
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Здравствуйте, как я пониманию с помощью класса QTranslator можно создать свой переводчик, я нашел подходящий метод(translate) только вот он принимает не QString а const char *, а не подскажите как перевести QString в Char + как правильно послать массив char в виде аргумента, насколько я знаю так нельзя, да и если попробовать то выдает ошибку, например
trans = new QTranslator;
char * text[5];
    for(int a=0;a<=4;a++)
    {
        text[a] = new char;
    }
    *text[0] = 'h';
    *text[1] = 'o';
    *text[2] = 'u';
    *text[3] = 's';
    *text[4] = 'e';
    label->setText(trans->translate(text,text));

Выдает:
Ошибка 1 error C2664: QString QTranslator::translate(const char *,const char *,const char *) const: невозможно преобразовать параметр 1 из 'char *[5]' в 'const char *' c:\Documents and Settings\rustam\Мои документы\Visual Studio 2008\Projects\Translator\Translator\translator.cpp 28
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.4.2011, 20:39
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ruzik @ 3.4.2011, 22:38) *
как я пониманию с помощью класса QTranslator можно создать свой переводчик
этот класс предназначен для перевода, а не создания переводчика. Читай здесь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 3.4.2011, 21:07
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


Цитата(ruzik @ 3.4.2011, 20:38) *
char * text[5];

это массив пяти указателей, а от тебя хочут указатель на char:
char * text=new char[5];
text[0] = 'h';
можно так, но можно просто объявить массив:
char a[2]={'h','o'};
a - это указатель на первый элемент массива,
в функцию такого вида
func(const * char)
можно его передать так:
func(a);
в функции можно получить букву 'o' так:
a[1]
а можно так:
*(a+1)

:)

Сообщение отредактировал abc - 3.4.2011, 21:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 4.4.2011, 16:08
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата
этот класс предназначен для перевода, а не создания переводчика.

А в чем разница?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.4.2011, 18:12
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ruzik @ 4.4.2011, 19:08) *
А в чем разница?
он загружает имеющийся перевод в программу, почитай по ссылке, там подробности.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 4.4.2011, 18:56
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


А тогда можно ли вообще реализовать переводчик, и если да то как
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.4.2011, 13:06
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ruzik @ 4.4.2011, 21:56) *
А тогда можно ли вообще реализовать переводчик, и если да то как
объясни как он должен работать (использоваться)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 5.4.2011, 13:41
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Подается текст, исходный язык и тот в который надо перевести, в принципе я нашел что-то похожее - метод
QString translate ( const char * context, const char * sourceText, const char * disambiguation, int n ) const
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 8.7.2020, 13:41