Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#9

Re: Zahl in einzelne Stellen zerlegen ohne Stringkonvertieru

  Alt 26. Apr 2009, 11:23
nimm mal statt TByteArray ein TByteDynArray


[add]
Delphi-Quellcode:
Uses Types; // für TByteDynArray

Function NumberToDigits(Number: Cardinal): TByteDynArray;
  Var n: Integer;

  Begin
    SetLength(Result, 10);
    n := 0;
    ASM
      PUSH EDI
      MOV EDI, &Result
      MOV EDI, [EDI]
      MOV ECX, 10
      MOV EAX, &Number
      @@Loop:
      XOR EDX, EDX
      IDIV ECX
      MOV [EDI], DL
      INC EDI
      INC &n
      TEST EAX, EAX
      JNZ @@Loop
      POP EDI
    End;
    SetLength(Result, n);
  End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat