Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

RTF

7.4K
10 марта 2009 года
T...H
159 / / 28.12.2008
Здарова программмисты!!
Ещё один вопросик: [COLOR="Red"](важно!!)[/COLOR]
Как сделать, перевести или перекодировать буквы русского алфавита(или любого другого) в RTF формат,т.е. так, как они записанны в RTF-е?? Кстати English так и остаётся при просмотре исходного кода... :confused:
255
10 марта 2009 года
Dart Bobr
1.4K / / 09.04.2004
Читайте свою подпись и действуйте!!
http://ru.wikipedia.org/wiki/Rich_Text_Format
294
14 марта 2009 года
Plisteron
982 / / 29.08.2003
Цитата: T...H
Как сделать, перевести или перекодировать буквы русского алфавита(или любого другого) в RTF формат,т.е. так, как они записанны в RTF-е??


Если я правильно понял вопрос, то надо что-то вроде этого:

Код:
AnsiString __fastcall ConvertToRTF(AnsiString src)
{
    AnsiString     s;
    unsigned char  c;
    int            a;
    AnsiString     sym("{}\\");
    AnsiString     okc(" ~!@#$%^&*()_+|[];:,.<>?-=`");
    int            l;
    int            i;
    AnsiString     EscRTF("\\\'");
    AnsiString     HexDigits("0123456789abcdef");
    int            p;
    AnsiString     cc;

    for(i = 1, l = src.Length(); i <= l; i++)
    {
        cc = src.SubString(i, 1);
        c = cc[1];
        if((p = sym.Pos(cc)) > 0)
        {
            s += "\\" + cc;
            continue;
        }
        if((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))
        // ^^^ Да, я знаю, что здесь можно использовать макросы isalpha и isdigit
        {
            s += cc;
            continue;
        }

        if((p = okc.Pos(cc))> 0)
            s += cc;
        else
            s +=   EscRTF
                 + HexDigits.SubString(((c >> 4) & 0x0F) + 1, 1)
                 + HexDigits.SubString((c & 0x0F) + 1, 1);
    }
    return s;
}
?
92
15 марта 2009 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Plisteron
Если я правильно понял вопрос, то надо что-то вроде этого:


[offtopic]
Вах! Давно не видно было :) Снова здравствуй!
[/offtopic]

294
15 марта 2009 года
Plisteron
982 / / 29.08.2003
Цитата: Тень Пса
[offtopic]
Вах! Давно не видно было :) Снова здравствуй!
[/offtopic]


[offtopic]
Приветствую! Меня помнят? Польщён!
Однако, пора перемещаться в "общалку" или перс, пока нас не забанили.
[/offtopic]

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог