AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ausgabe der FileGröße

Ein Thema von bernhard_LA · begonnen am 3. Jun 2013 · letzter Beitrag vom 3. Jun 2013
 
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Ausgabe der FileGröße

  Alt 3. Jun 2013, 12:00
Wie hast Du die FileSize ermittelt ? Für Dateien > 2 GB braucht man INT64 und das bekommt man, wenn man die Dateigröße (64 Bit = 8 Bytes) aus dem Directory-Eintrag holt, andernfalls bekommst Du nur die unteren 4 Bytes und da wird das oberste Bit zum Vorzeichen.
Die AbfrageaFilesize > 1E12 wird FALSE, wenn aFileSize negativ ist, dann kommst Du zu BYTE mit der negativen Zahl.
Siehe auch hier http://www.delphipraxis.net/24331-da...ermitteln.html
Longint besitzt nur 32 Bit und kann die FileSize nur für kleinere Dateien darstellen.
Statt der Division FileSize/ 1024 sollte man lieber SHR benutzen
Delphi-Quellcode:
FileSize shr 10 // KBytes
FileSize shr 20 // MBytes
FileSize shr 30 // GBytes
FileSize shr 40 // TBytes
Cardinal statt LongInt ist auch nur für kleinere Dateien anwendbar, da damit ebenfalls nur die unteren 32 Bit der tatsächlichen FileSize (64 Bit) abbildbar sind.

Die Dezimalzahl 2.147.483.648 entspricht einer Hex 80 00 00 00, das ist bereits in einer 32Bit Variablen das Minuszeichen, ab dieser Größe wird Longint negativ (reichlich 2 GB).
Hartmut

Geändert von kwhk ( 3. Jun 2013 um 12:28 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 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