Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести с Делфи функцию для перекодировки UCS формата в Ansi / 2 сообщений из 2, страница 1 из 1
27.02.2012, 12:41
    #37679687
donpauls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести с Делфи функцию для перекодировки UCS формата в Ansi
На Делфи она выглядет вот так:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
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;

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;



Или может есть какая то готовая функция для этого?
...
Рейтинг: 0 / 0
27.02.2012, 23:18
    #37681241
S.PR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести с Делфи функцию для перекодировки UCS формата в Ansi
length - len
div - \
copy - mid
StrToIntDef статья
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести с Делфи функцию для перекодировки UCS формата в Ansi / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]