ja jetzt funktioniert es,
vielen dank an alle von euch, dass ihr mir so geholfen habt.
Jetzt habe ich allerdings noch ein Problem beim umrechnen von binaer zu dezimal, und zwar rechnet er hier auch nicht richtig.
Könntet ihr mal bitte einen blick drauf werfen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var n, result, y: Integer;
x, s1, s2, s3, s4: String;
begin
x:=(edit1.Text);
n:=Length(x);
if n=1 then
begin
y:=StrToInt(edit1.Text);
result:=y*1;
edit2.Text:=IntToStr(result);
end;
if n=2 then
begin
s1:=copy(x,2,2);
s2:=copy(x,1,1);
result:= StrToInt(s1)*1 + StrToInt(s2)*2;
edit2.Text:=IntToStr(result);
end;
if n=3 then
begin
s1:=copy(x,3,3);
s2:=copy(x,2,2);
s3:=copy(x,1,1);
result:= StrToInt(s1)*1 + StrToInt(s2)*2 + StrToInt(s3)*4;
edit2.text:=IntToStr(result);
end;
if n=4 then
begin
s1:=copy(x,4,4);
s2:=copy(x,3,3);
s3:=copy(x,2,2);
s4:=copy(x,1,1);
result:= StrToInt(s1)*1 + StrToInt(s2)*2 + StrToInt(s3)*4 + StrToInt(s4)*8;
edit2.Text:=IntToStr(result);
end;
if n>4 then
begin
showmessage('Es können nur Zahlen mit max 4 Stellenumgerechnet werden.');
end;
end;
oder habt ihr vlt einde idee, wie man das in einer schleife umsetzen kann, ohne diese if-Verschachtelung.
danke schon mal im vorraus.