Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Ordnergröße ermitteln

  Alt 17. Dez 2023, 17:57
Nja, das ist ein 32-Bit UInt und wenn man da alles um 32 Bit nach links verschiebt, dann rutscht alles raus und ist weg.
Der Compiler kommt auch nicht immer auf die Idee sowas von sich aus einfach so zu vergrößern (normal maximal bis zur Größe eines Registers)

So := Int64(TempSize.nFileSizeHigh) shl 32 or TempSize.nFileSizeLow; wäre es demnach schon sicherer,

aber wie schon genannt ... Warum nicht einfach F.Size, anstatt F.FindData.nFileSize* ?



PS: Da wir hier Signed rechnen, ist es binär sicherer, als arithmetisch.

OK, man könnte auch := Int64(UInt64(TempSize.nFileSizeHigh) shl 32) + TempSize.nFileSizeLow; , aber warum.
z.B. gäbe es Probleme und die Größe wäre z.B. -1, dann würde es nach Umrechnung mit einer signed Addition einen anderen Wert ergeben.

Alternativ einfach nur casten und garnicht rechnen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Dez 2023 um 18:04 Uhr)
  Mit Zitat antworten Zitat