Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru

  Alt 26. Apr 2009, 15:10
Zitat von Amateurprofi:
@alzaimar:
In der letzten Zeile von NumberToDigits sollte es wohl besser heißen
SetLength (Result, n);
Ich dachte dabei an den Fall: aNumber = 0. Aber das ist sowieso nicht ganz korrekt. Es müsste eine Repeat-Until Schleife sein. Und dann hättest Du Recht.
Delphi-Quellcode:
Function NumberToDigits (aNumber : Cardinal) : TByteArray;
Var
  n : Integer;

Begin
  n := 0;
  SetLength (Result, 10);
  Repeat
    Result[n] := aNumber mod 10;
    aNumber := aNumber div 10;
    Inc (n);
  Until aNumber = 0;
  SetLength (Result, n1);
End;
..
// Beispiel
Var
  B : TByteArray;

Begin
  B := NumberToDigits (1234); // --> B = (4,3,2,1), also B[0] = 4, B[1] = 3 usw
  ...
@himitsu: Findst Du Assembler hier wirklich angebracht?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat