Помощь - Поиск - Пользователи - Календарь
Полная версия: ansi_to_oem('ё') Runtime Error
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Free Pascal, Pascal ABC и другие
klem4
Есть ф-я

function ANSI_to_OEM(s: Char): Char;
begin
case s of
'А'..'п': dec (s, 64);
'р'..'я': dec (s, 16);
'Ё','Є': inc (s, 72);
'ё','є': inc (s, 57);
'Ї': inc (s, 69);
'ї': inc (s, 54);
end;
ANSI_to_OEM := s;
end;


Следующий вызов:

ansi_to_oem('ё')


приводит FPC в ужас.

Почему ?!


compiler
Цитата(klem4 @ 3.06.2007 14:01) *
приводит FPC в ужас.Почему ?!
а в чем ужас ? у меня компилируется и и сполняется..
реализовал так
function ANSI_to_OEM(s: Char): Char;
begin
case s of
'А'..'п': dec (s, 64);
'р'..'я': dec (s, 16);
'Ё','Є': inc (s, 72);
'ё','є': inc (s, 57);
'Ї': inc (s, 69);
'ї': inc (s, 54);
end;
ANSI_to_OEM := s;
end;
begin
ansi_to_oem('ё');
readln;
read;
end.


klem4
У меня RTE 215 ... А какой символ выдает прога ? 'ё' или что-то другое ?
compiler
Цитата(klem4 @ 3.06.2007 15:50) *
А какой символ выдает прога ? 'ё' или что-то другое ?
если написать
writeLn ( ansi_to_oem('ё') );
то будет ё...
hardcase
Kelm4, попробуй указать код символа 0xB8, а не 'ё'.
compiler
тут еще что то есть... если переменную(русскую) для функции читаем с клавы , то выводится первый символ названия переменной(!) blink.gif
ничего не понимаю wacko.gif
Archon
Цитата
тут еще что то есть... если переменную(русскую) для функции читаем с клавы , то выводится первый символ названия переменной(!)
А у меня при любом названии переменной выводится 'с', и некоторые другие буквы глючат, например при нажатии 'к' выводится символ 'Є'... Думаю проблема в функции smile.gif

PS Но сначала я тоже удивился, так как переменную назвал ch... =)
compiler
да, это я не много погарячился, наверно Archon прав... проблема в функции...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.