Ich möchte einen Rechner schreiben, der eine beliebige Zahl in Binärcode umwandelt. Folgenden Code habe ich geschrieben:
Delphi-Quellcode:
var x,y,z, r: integer;
begin
edit2.Text:='';
z:=2;
x:=StrToInt(edit1.Text);
r:=x;
if x=1 then edit2.Text:=edit2.text+'1'
else
if x=0 then edit2.Text:=edit2.text+'0'
else
begin
repeat
z:=2;
repeat
y:=r div z;
z:=z*2;
until y=1;
edit2.Text:=edit2.text+'1';
r:=r mod z;
until r=0;
while z>2 do
begin
z:=z div 2;
edit2.text:=edit2.text+'0';
end;
end;
end;
Edit1 ist das Editfeld in dem die umzurechnende Zahl steht, Edit2 ist das Feld in dem der Binärcode ausgegeben wird.
Jedoch bleibt das Programm immer hängen (ich nehme an es wiederholt eine Schleife unendlich oft) Hat jemand eine Ahnung was an dem Code falsch ist?
schon mal vielen dank im vorraus