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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 23:23   #1
Nika110810
Новичок
Джуниор
 
Регистрация: 02.10.2011
Сообщений: 7
По умолчанию Существует ли этот символ???

Для вывода сообщений используется функция RUS, которая преобразует строку символов в кодировке
ANSI в строку символов в кодировке ASCII.
Листинг 4.1. Пересчет веса из фунтов в килограммы (консольное приложение)
program funt2kg; {$APPTYPE CONSOLE}
// Функция Rus преобразует ANSI-строку в ASCII-строку
function Rus(mes: string):string;
// В ANSI русские буквы кодируются числами от 192 до 255,
// в ASCII - от 128 до 175 (А..Яа..п) и от 224 до 239 (р..я).
var
i: integer; // номер обрабатываемого символа
begin
for i:=1 to length(mes) do case mes[i] of
'A'-.'n' : - ЧТО ЭТО ТАКОЕ???
mes[i] := Chr(Ord(mes[i]) - 64); 'р'..'я' :
mes[i] .:= Chr (Ord(mes [i] ) -16); - И ЭТО???
end;
rus := mes; end;
Nika110810 вне форума Ответить с цитированием
Старый 02.10.2011, 23:36   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
for i:=1 to length(mes) do case mes[i] of
'A'-.'n' : - ЧТО ЭТО ТАКОЕ???
Это идёт проверка, принадлежит ли символ mes[i] диапазону 'A'-.'n'

Цитата:
mes[i] .:= Chr (Ord(mes [i] ) -16); - И ЭТО???
i-му символу строки mes присваивается тот же символ, но смещённый на 16 позиций назад.
Функция Chr возвращает символ, номер которого переда ей в качестве аргумента.
Функция Ord - возвращает порядковый номер символа, переданного ей в качестве аргумента.

А если подходить очень строго, то программа даже не скомпилируется, так как она записана с нарушениями синтаксиса языка (см. красные символы - точки, я их выделил намеренно).
Вадим Мошев вне форума Ответить с цитированием
Старый 02.10.2011, 23:48   #3
Nika110810
Новичок
Джуниор
 
Регистрация: 02.10.2011
Сообщений: 7
По умолчанию

Я ПОНИМАЮ, ЧТО ОНА НЕ СКОМПИЛИРУЕТСЯ, НО КАК УБРАТЬ ЭТИ ОШИБКИ?
Я ВЗЯЛА ЭТУ ЗАДАЧУ ИЗ ПРИМЕРА РЕШЕНИЙ, НО КАК ВИДИТЕ, ДАЖЕ ОНА С ОШИБКАМИ...
Nika110810 вне форума Ответить с цитированием
Старый 02.10.2011, 23:57   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Я ПОНИМАЮ, ЧТО ОНА НЕ СКОМПИЛИРУЕТСЯ, НО КАК УБРАТЬ ЭТИ ОШИБКИ?
Если я вас правильно понял, просто уберите эти точки.
И ещё, смотрите:
Цитата:
'A'-.'n' : - ЧТО ЭТО ТАКОЕ???
Поменяйте букву n на п
Вадим Мошев вне форума Ответить с цитированием
Старый 03.10.2011, 00:00   #5
gamer-25
Пользователь
 
Регистрация: 21.09.2011
Сообщений: 25
По умолчанию

Код:
function Rus(mes: String): String;
var
  i: Integer;
begin
  for i:= 1 to length(mes) do
    case mes[i] of
      'А' .. 'п': mes[i]:= Chr(Ord(mes[i])-64);
      'р' .. 'я': mes[i]:= Chr(Ord(mes[i])-16);
    end;

  Rus:= mes;
end;
gamer-25 вне форума Ответить с цитированием
Старый 03.10.2011, 00:00   #6
gamer-25
Пользователь
 
Регистрация: 21.09.2011
Сообщений: 25
По умолчанию

С интернетом что-то не то
gamer-25 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Существует ли функция? prizrak1390 PHP 2 20.04.2011 20:32
Как создать этот обьект или существует ли готовый? MyLastHit Общие вопросы Delphi 7 24.08.2010 18:01
TP. Существует ли файл? TwiX Помощь студентам 9 14.12.2009 17:16
Существует ли формула??? Graff_1 Microsoft Office Excel 3 10.11.2009 18:18
существует ли файл? subsonic Общие вопросы Delphi 8 10.01.2008 03:17