Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2012, 02:49   #1
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию HTML таблица символов

Подскажите пожалуйста как конвертировать например:
#1056#1091#1089#1089#1082#1072#1103
в
Русская
Это HTML таблица символов.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 06.02.2012, 11:45   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

с чего вы взяли, что HTML?
Человек_Борща вне форума Ответить с цитированием
Старый 06.02.2012, 15:34   #3
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Вот так будет HTML-entities
&#_1056;&#_1091;&#_1089;&#_1089;&#_ 1082;&#_1072;&#_1103;

http://www.koders.com/delphi/fidF925...17BAACE42.aspx
http://stackoverflow.com/questions/1...hi-html-decode

Код:
function HTMLDecode(const AStr: String): String;
var
  Sp, Rp, Cp, Tp: PChar;
  S: String;
  I, Code: Integer;
begin
  SetLength(Result, Length(AStr));
  Sp := PChar(AStr);
  Rp := PChar(Result);
  Cp := Sp;
  try
    while Sp^ <> #0 do
    begin
      case Sp^ of
        '&': begin
               Cp := Sp;
               Inc(Sp);
               case Sp^ of
                 'a': if AnsiStrPos(Sp, 'amp;') = Sp then  { do not localize }
                      begin
                        Inc(Sp, 3);
                        Rp^ := '&';
                      end;
                 'l',
                 'g': if (AnsiStrPos(Sp, 'lt;') = Sp) or (AnsiStrPos(Sp, 'gt;') = Sp) then { do not localize }
                      begin
                        Cp := Sp;
                        Inc(Sp, 2);
                        while (Sp^ <> ';') and (Sp^ <> #0) do
                          Inc(Sp);
                        if Cp^ = 'l' then
                          Rp^ := '<'
                        else
                          Rp^ := '>';
                      end;
                 'n': if AnsiStrPos(Sp, 'nbsp;') = Sp then  { do not localize }
                      begin
                        Inc(Sp, 4);
                        Rp^ := ' ';
                      end;
                 'q': if AnsiStrPos(Sp, 'quot;') = Sp then  { do not localize }
                      begin
                        Inc(Sp,4);
                        Rp^ := '"';
                      end;
                 '#': begin
                        Tp := Sp;
                        Inc(Tp);
                        while (Sp^ <> ';') and (Sp^ <> #0) do
                          Inc(Sp);
                        SetString(S, Tp, Sp - Tp);
                        Val(S, I, Code);
                        Rp^ := Chr((I));
                      end;
                 else
                   Exit;
               end;
           end
      else
        Rp^ := Sp^;
      end;
      Inc(Rp);
      Inc(Sp);
    end;
  except
  end;
  SetLength(Result, Rp - PChar(Result));
end;
пыщь

Последний раз редактировалось JTG; 06.02.2012 в 15:41.
JTG вне форума Ответить с цитированием
Старый 06.02.2012, 21:05   #4
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Спасибо большое, то что нужно.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 06.02.2012, 21:20   #5
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Странно...
Попробовал
Код:
memo1.Lines.Add(HTMLDecode('&#_1056;&#_1091;&#_1089;&#_1089;&#_ 1082;&#_1072;&#_1103;'));
без символа "_"

Получаю - CAA:0O

В чем проблема может быть ?
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ

Последний раз редактировалось Den7656; 06.02.2012 в 21:26.
Den7656 вне форума Ответить с цитированием
Старый 06.02.2012, 21:23   #6
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Цитата:
Подскажите пожалуйста как конвертировать например:
#1056#1091#1089#1089#1082#1072#1103
в
Русская
.
.
.
Попробовал memo1.Lines.Add(HTMLDecode('Русская'));
Если спрашивал как декодить хтмл, зачем тогда вводишь "Русская"?
Pamparam вне форума Ответить с цитированием
Старый 06.02.2012, 21:28   #7
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Это форум сам перевел )))
Я исправил предыдущую мессагу.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 06.02.2012, 21:29   #8
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

ищи исходники перевода сообщений этого форума ))
Pamparam вне форума Ответить с цитированием
Старый 06.02.2012, 21:52   #9
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Это тема создана в разделе DELPHI. Мне нужна реализация именно на этом языке.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 06.02.2012, 22:30   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Den7656 Посмотреть сообщение
Это тема создана в разделе DELPHI. Мне нужна реализация именно на этом языке.
во-первых, чем не устраивает решение, приведённое выше?! Оно именно на Delphi

во-вторых, поиском не пробовали воспользоваться?!
навскидку (помимо вышеприведённых ссылок):

Проблемы с кодировкой UTF8

HTML Entities
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет числа комбинации символов 'ab' во входном потоке символов (Си) skrappy_kokko Помощь студентам 4 14.09.2011 23:10
Таблица html , проблема Igor_13 HTML и CSS 7 19.11.2010 12:54
Что делать, если количество символов в билдере не соответствует количеству символов в билде? BoT_T Общие вопросы Delphi 0 16.11.2010 10:42
Delphi коды символов HTML в русский язык mega-X-mozg Помощь студентам 5 26.02.2010 16:56