IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> ansi_to_oem('ё') Runtime Error
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Есть ф-я

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 в ужас.

Почему ?!




--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(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.




--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


У меня RTE 215 ... А какой символ выдает прога ? 'ё' или что-то другое ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(klem4 @ 3.06.2007 15:50) *
А какой символ выдает прога ? 'ё' или что-то другое ?
если написать
writeLn ( ansi_to_oem('ё') );
то будет ё...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Kelm4, попробуй указать код символа 0xB8, а не 'ё'.

Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


тут еще что то есть... если переменную(русскую) для функции читаем с клавы , то выводится первый символ названия переменной(!) blink.gif
ничего не понимаю wacko.gif


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


Цитата
тут еще что то есть... если переменную(русскую) для функции читаем с клавы , то выводится первый символ названия переменной(!)
А у меня при любом названии переменной выводится 'с', и некоторые другие буквы глючат, например при нажатии 'к' выводится символ 'Є'... Думаю проблема в функции smile.gif

PS Но сначала я тоже удивился, так как переменную назвал ch... =)


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


да, это я не много погарячился, наверно Archon прав... проблема в функции...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 19:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name