Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#3

AW: Programm für Octalzahlen in Dezimalzahlen

  Alt 9. Dez 2018, 14:58
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] = '1then
     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] = '1then
      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...
  Mit Zitat antworten Zitat