Написать программу (консольное приложение), которая запрашивает у пользователя вес в фунтах, пересчитывает его в килограммы и выводит результат на экран. Для вывода сообщений использовать функцию RUS, которая преобразует строку символов в кодировке ANSI в строку в кодировке ASCII. (функцию создать самостоятельно).
Интересует вторая часть условия. Используется консоль в дельфи или паскаль.
Как задать строку на русском языке, чтоб при выводе она отобразилась корректно?
Эскизы прикрепленных изображений
Дельфи 2007 и выше:
function WinToDos(const S: string): AnsiString;
begin
setLength(result, length(S));
if not CharToOem(pWideChar(S), pAnsiChar(result)) then
setLength(result, 0)
end;
function WinToDos(const S: string): string;
begin
setLength(result, length(S));
if not CharToOem(pChar(S), pChar(result)) then
setLength(result, 0)
end;
var s: string;
begin
s := 'Привет, мир!';
writeln(WinToDos(s));
readln;
end.
Спасибо, 1 вариант у меня отработал (D2009). А для паскаля такое возможно?
Для какого Паскаля? Разве ты при работе в Паскале не используешь одну и ту же кодировку и в самой IDE, и в консоли при выводе? Вот в Дельфи кодировки действительно разные - в IDE виндовая, а в консоли OEM. Отсюда и необходимость переконвертации.
Понятно, хотя странно зачем разные кодировки...
А про паскаль - это уже на тему "Паскаль и русские слова"