Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Преобразование Ansi to Ascii

Delphi , Синтаксис , Преобразования

\
  Иисус изменил Вашу жизнь.
Сохранить изменения?
Да - Нет - Отмена.

 


 {преобразование Ansi to Ascii}
 function AnToAs(s: String) : String;
Var i,kod : Integer;
begin Result:=s; for i:=1 to length(s) do begin kod:=Ord(s[i]); if kod = 13 then Result[i]:=' ';
if ( kod>=192) and ( kod=239) then
Result[i]:=Chr(kod-64);
if ( kod>=240) and ( kod=255) then
Result[i]:=Chr(kod-16);
if kod=168 then Result[i]:=Chr(240);
if kod=184 then Result[i]:=Chr(241);
end;
end;

Функция AnToAs предназначена для конвертации символов ANSI в символы ASCII. Она принимает строку как входной параметр и возвращает конвертированную строку.

Вот подробное описание, что код делает:

  1. Функция проходит по каждому символу в входной строке с помощью цикла for.
  2. Для каждого символа она использует функцию Ord для получения кода ASCII символа.
  3. Затем она проверяет, равен ли код ASCII 13 (который является кодом ASCII для символа новой строки). Если это так, она заменяет символ на пробел (' ') в строке вывода.
  4. Далее она проверяет, находится ли код ASCII в диапазоне от 192 до 239 включительно. Если это так, она вычитает 64 из кода ASCII и конвертирует результат обратно в символ с помощью функции Chr. Это seems to be a common conversion rule for ANSI characters in this range.
  5. Код также проверяет, находится ли код ASCII в диапазоне от 240 до 255 включительно. Если это так, она вычитает 16 из кода ASCII и конвертирует результат обратно в символ с помощью функции Chr. Это seems to be another common conversion rule for ANSI characters in this range.
  6. Есть также два специальных проверки для кодов ASCII 168 и 184, которые seem to correspond to special characters that need to be converted.

Вот альтернативное решение:

function AnToAs(s: String): String;
begin
  Result := '';
  for i := 1 to Length(s) do
  begin
    kod := Ord(s[i]);
    case kod of
      13: Result := Result + ' ';
      // Add more cases for other conversions as needed
      else:
        Result := Result + Chr(kod);
    end;
  end;
end;

Это код использует оператор case для упрощения процесса конвертации. Он также более читаемый и поддерживаемый, чем оригинальный код.

В статье описана функция AnToAs, которая преобразует строку в кодировке ANSI в кодировку ASCII, заменяя некоторые символы и кодовые страницы.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Преобразования ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-07-07 01:18:08/0.0033841133117676/1