function ToBin(var x: integer): string; // Переход к двоичной системе
var rez: string; // результат декодирования будет, как известно, строкового типа
y: integer; // а здесь будем хранить число в исходном типе данных (десятичном)
begin
rez := ''; y := x;
// Опишу вкратце алгоритм преобразования десятичного числа в двоичную сс
// Перебираем число по цифре, начиная с конца, и смотрим: если цифра делится на 2 без остатка,
// в результат дописываем нуль, в противном случае - единичку. Реализация сего нехитрого алгоритма ниже.
Repeat
if (y mod 2 = 0) then rez := '0' + rez
else rez := '1' + rez;
y := y div 2;
Until y < 1;
ToBin := rez;
end;
function ToNormal(var x: string): integer; // переход к десятичной системе
var y: string; // исходное число в строковом типе
rez: real; // результат - вещественный тип (для удобства при вычислениях)
i,t: integer;
begin
y := x; rez := 0;
// Рассмотрим вариант перевода числа из десятичной системы счисления в двоичную.
// Перебираем побитово строку, выполняя следующее действие
// Преобразовываем символ в число функцией StrToInt()
// в результат записываем выражение: результат + число умноженное на двойку,
// возведённую в степень, равную порядковому номеру символа в строке (отсчёт ведём справа налево)
// например '1010' (10) = (0 * 2^1) + (1 * 2^2) + (0 * 2^3) + (1 * 2^4) = 0 + 2 + 0 + 8 = 10
for i:=0 to length(y)-1 do
begin
t := StrToInt(y[Length(y) - i]);
rez := rez + t * Exp(i * ln(2));
end;
ToNormal := Round(int(rez));
end;
if length(edit1.text) = 1 then edit1.text := '0' else begin
s := edit1.text;
delete(s,length(s),1);
edit1.text := s;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
'*' : {выполнять умножение};
'/' : {выполнять деление};
'-' : {вычитание};
'+' : {сложение};
chr(13) : {подсчитать результат (кнопка "=")};
'.' : {запятая (точка)};
end;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_Escape: {делать что-нибудь};
vk_back: {и ещё что-то};
end;
end;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.