Ich auch
Den Thread hatte ich gar nicht gesehen

Hier mal meine Lösung komplett ohne StrToInt und ohne IntToStr. Und ohne
OtherWayRound (@Luckie: das wäre auch einfacher gegangen)...
Delphi-Quellcode:
function IntToBin(Value: Word): String;
const
BIN_VALUE: array[0..1] of Char = ('0', '1');
begin
Result := '';
while Value > 1 do
begin
Result := BIN_VALUE[Value and $01] + Result;
Value := Value div 2;
end;
Result := BIN_VALUE[Value and $01] + Result;
end;
function BinToInt(Value: String): Word;
const
INT_VALUE: array['0'..'1'] of Byte = (0, 1);
var
I: Integer;
begin
Result := 0;
for I := 1 to Length(Value) do
begin
Result := Result * 2;
Result := Result + INT_VALUE[Value[I]];
end;
end;
...

...