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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2014, 11:47   #1
Rompler
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 12
Сообщение Кодировка UCS и обратно

Всем доброго времени)
Т.к. не силен в программировании Решил спросить у понимающих людей в своем деле
Использую функцию перевода текста в кодировку UCS на Delphi 2010
Код:
function AnsiToUCS(AStr: AnsiString): AnsiString;

  function Convert(AChar: AnsiChar): AnsiString;
  var
      j: integer;
  begin
    Result := '';
    j := ord(AChar);
    case j of
      192..255: j := j + 848;
      184: j := 1105;
    end;
    Result := IntToHex(j, 4)
  end;

var
  c, i: integer;
begin
    Result := '';
  c := Length(AStr);
  for i := 1 to c do
    Result := Result + Convert(AStr[i]);
end;
А вот функция с обратным переводом
Код:
function UCSToAnsi(AStr: AnsiString): AnsiString;

  function Convert(ACnvStr: AnsiString): AnsiChar;
  var
    j: integer;
  begin
    j := StrToIntDef('$'+ACnvStr, 0);
    case j of
      1040..1103: j := j - 848;
      1105: j := 184;
    end;
    Result := Chr(j);
  end;

var
  c, i: integer;
begin
  Result := '';
  c := Length(AStr) div 4;
  for i := 0 to c - 1 do
    Result := Result + Convert(Copy(AStr, i*4+1, 4)); end;
Выдает ошибку
Цитата:
Compiling Project1.dproj (Debug configuration)
[DCC Warning] Unit1.pas(49): W1057 Implicit string cast from 'AnsiString' to 'string'
[DCC Error] Unit1.pas(54): E2010 Incompatible types: 'AnsiChar' and 'Char'
[DCC Warning] Unit1.pas(81): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString'
[DCC Warning] Unit1.pas(94): W1058 Implicit string cast with potential data loss from 'TCaption' to 'AnsiString'
[DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Failed
Как это можно исправить?

Последний раз редактировалось Rompler; 08.11.2014 в 12:14.
Rompler вне форума Ответить с цитированием
Старый 08.11.2014, 12:17   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,454
По умолчанию

Убери везде приставку Ansi
uberchel вне форума Ответить с цитированием
Старый 08.11.2014, 12:22   #3
Rompler
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 12
По умолчанию

Спасибо большое))) Действительно помогло))
Rompler вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение текстового файла в кодировке UCS-2 NapalmRain C++ Builder 0 09.09.2012 23:42
кодировка из ANSII в числа и обратно!!! krameshnik Общие вопросы C/C++ 0 10.05.2012 23:47
Excel VBA, Экспорт в txt, кодировка файла UTF-16 LE/UCS-2 Little Endian+еще один интересный вопрос Maxximus Microsoft Office Excel 17 04.09.2009 20:03
Кодировка UCS-2 nimf Общие вопросы Delphi 1 21.01.2009 12:44
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13