Показать сообщение отдельно
Старый 11.08.2009, 21:44   #1
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Lib_radix - Системы счисления

По просьбе пользователя Трава выкладываю эту элементарную библиотеку.
Функции такие:

integer any2int(String s; integer rad) - Переконвертирует строку s в десятичное число
rad - система счисления, в которой записано число до перекодировки
В случае ошибки при конвертировании, вернется число -1

string int2any(integer i; integer rad) - Переконвертировать число i в нужную систему счисления
rad - требуемая система счисления (например, 16 - для HEX, 8 - для OCT, 2 - для BIN)
В случае ошибки при конвертировании, вернется пустая строка

string any2any(string s; integer r1; integer r2) - Переконвертировать число в строке s в нужную систему счисления
r1 - Система счисления, которая была
r2- Система счисления, которая нужна
В случае ошибки при конвертировании, вернется пустая строка

Пример использования либы показан ниже:

Program RadixTest;
Uses radix;
Begin
    DrawText
( int2any(65535, 16) , 5, 5); // Перевод из DEC --> HEX
    
DrawText( '' + any2int('ffff', 16) , 5, 25); // Перевод из HEX --> DEC
    
DrawText( any2any('ffff', 16, 2) , 5, 45); // Перевод из HEX --> BIN
    
Repaint; Delay(5000);
End. 
Вложения
Тип файла: zip Lib_radix.zip (932 байт, 2242 просмотров)
Тип файла: zip RadixTest.zip (2.7 Кб, 2235 просмотров)
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
barsunduk (13.01.2011), Bruteo (03.11.2009), Marcus (07.02.2011), Трава (14.08.2009)