Delphi-Quellcode:
procedure TForm1.BBindezClick(Sender: TObject);
var
i: integer;
Position, Ergebnis: cardinal;
begin
Position:=1;
Ergebnis:=0;
for i:=length(Ebin.text) downto 1 do begin
if Ebin.text[i] = '1' then
Ergebnis:=Ergebnis + Position;
Position:= Position * 2;
end;
Edez.text:=inttostr(Ergebnis);
end;
Hallo,
noch ein Tipp von mir zu deinem Code: wenn du dir angewöhnst zur Einrückung immer 2 stat wie bei dir
bisher 1 Zeichen zu benutzen, dann ist es nicht nur Delphi/Pascal STandard, sondern erhöht auch die
Lesbarkeit ungemein.
Du wirst viel schneller sehen was zu einem if gehört usw...
Und wenn du gewisse AUfrufe auch noch in pascalCase schreiben würdest, wäre es auch
noch übersichtlicher:
Delphi-Quellcode:
procedure TForm1.BBindezClick(Sender: TObject);
var
i: Integer;
Position, Ergebnis: Cardinal;
begin
Position := 1;
Ergebnis := 0;
for i := length(Ebin.Text) downto 1 do
begin
if Ebin.Text[i] = '1' then
Ergebnis := Ergebnis + Position;
Position := Position * 2;
end;
Edez.Text := IntToStr(Ergebnis);
end;
Der nächste Schritt, wenn du das mit der Oktalumrechnung hinbekommen hast,
wäre übrigens, die jeweiligen Umrechnungsalgorithmen in eigene Methoden
auszulagern, damit die nicht fix an einem Button Klick Event dran hängen,
sondern flexibel benutzbar sind. Die Methode würden dann einen String
übergeben benkommen, der die eingegebenen daten enthält und einen String
mit den umgewandelten Daten zurück geben. dann kann sie an jeder Stelle im
Programm eingesetzt werden.
Grüße und weiter viel Spaß beim Lernen
TurboMagic
PS: ist Delphi 5 das, was die Schule besitzt? Weil das ja eigentlich schon
recht alt ist und Schullizenzen gar nicht so teuer sind...