Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

PASCAL: Получение кода символа в двоичном формате...

Уважаемые знатоки PASCAL,
здравствуйте!

Вычитал на специализированном сайте <pascaler.ru> о том, что:

Chr(x) - это библиотечная функция, где аргумент типа Byte, а результат типа Char-
возвращает

символ, у которого код в таблице ASCII равен х;

Не подскажете, как можно получить обратные функции, т.е.:

функции, где аргумент типа Char, а результат типа целого десятичного (INTEGER),
двоичного
и 16-ричного чисел - т.е. отдельные функции, которые возвращали бы коды в трех
указанных

форматах (если, конечно, Pascal это допускает)?

--
Если Вы ознакомились с моим вопросом, то я был бы очень признателен Вам за отклик.

С уважением,
nick59 - <nick***@i*****.ru>.

Ответить   Sat, 19 Jan 2008 06:48:38 +0300 (#718448)

 

Ответы:

Namik Kas пишет:

Это элементарно и посмотреть легко, если получить помощь по CHR -
обратная функция ORD.
Но все еще проще, чтобы получить символ с кодом, например, 123 нужно
написать:
ch := #123;
Чтобы перейти на экране на следующую строку (в начало), не обязательно
писать
WriteLn;
Можно написать:
Write(#13,#10);
И аналогично:
Writeln(#13,#10,13,10);
Выведет с новой строки 13 и 10.
А числа, они все двоичные. Чтобы без проблем получить шестнадцатиричное,
можно или воспользоваться функцией Format, которая получилась в Паскале
не самая удобная для применения, или ручками:
например, так:
VAR
w: Word;
b: byte;
s: String;
BEGIN
w := $B2AF;
s:='';
while w <> 0 do begin
b:= w mod 16;
w := w div 16;
case b of
0..9: s:= chr(b + 48) + s;
10..15: s:= chr(b + 55) + s;
end;
end;
WriteLn(s);
END.
И еще, часто нужна таблица кодов. Ее получают так:
VAR
b: Byte;
BEGIN
for b:=32 to 255 do
Write(chr(b),' ',b:3,' '); WriteLn;
END.
--
С уважением, Борис

Ответить   Sat, 19 Jan 2008 11:16:07 +0300 (#718488)