![]() |
brauche schnellstmöglich hilfe mit zahlensystem
also habe schon von ein paar schlauen köpfen hier im forum den folgenden Quelltext gekriegt um oktal in dezimalzahlen umzuwandeln.
Delphi-Quellcode:
jetzt brauch ich den ganz schnell so erweitert, dass er hexadezimalzahlen umwandelt in dezimal.
begin
iRes := 0; for iFor := 1 to Length(edit1.text) do begin iRes := iRes * 8 +StrToInt(Copy(edit1.text, iFor, 1)); end; edit2.text := inttostr(iRes); end; wäre echt toll wenn das einer schnell hinkriegt! vielen dank [edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit] |
Re: brauche schnellstmöglich hilfe mit zahlensystem
Moin Whopper,
erste Möglichkeit: Du tauscht die 8 durch 16, eben die Basis des Zahlensystemes,
Code:
oder Du verwendest einfach die vorhandenen Funktionen:
begin
iRes := 0; for iFor := 1 to Length(edit1.text) do begin iRes := iRes * [color=red]16[/color] +StrToInt(Copy(edit1.text, iFor, 1)); end; edit2.text := inttostr(iRes); end;
Delphi-Quellcode:
Edit2.Text := IntToStr(StrToInt('$'+Edit1.Text));
|
Re: brauche schnellstmöglich hilfe mit zahlensystem
ja klar das mit der 16 is logisch aber dann ist da noch das problem mit den buchstaben A - F! damit kann der ja in der function nix anfangen
|
Re: brauche schnellstmöglich hilfe mit zahlensystem
Moin Whooper,
Zitat:
Delphi-Quellcode:
Mit hexadezimalen Ziffern kann Delphi nämlich etwas anfangen, wenn Du der Funktion mit dem Prefix $ mitteilst, dass es die Zahl als hexadezimal ansehen soll.
begin
iRes := 0; for iFor := 1 to Length(edit1.text) do begin iRes := iRes * 16 +StrToInt('$'+Edit1.text[iFor]); end; edit2.text := inttostr(iRes); end; Siehe auch die zweite Lösung. ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz