AGB  ·  Datenschutz  ·  Impressum  







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

Größe einer Datei bestimmen

Ein Thema von hummer · begonnen am 21. Jan 2004 · letzter Beitrag vom 13. Okt 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Re: Größe einer Datei bestimmen

  Alt 13. Okt 2012, 04:25
Delphi-Quellcode:
Result := (Int64(wfd.nFileSizeHigh) shl 32) or wfd.nFileSizeLow;

// oder

Int64Rec(Result).Lo := wfd.nFileSizeLow;
Int64Rec(Result).Hi := wfd.nFileSizeHigh;
Und nein, das mit MAXDWORD funktioniert auch ... also wenn man es richtig macht.
Result := (Int64(wfd.nFileSizeHigh) * (Int64(MAXDWORD) + 1)) + Int64(wfd.nFileSizeLow); Aber wenn man weiß, wie in einem 32-Bit-Delphi die 64-Integeroperationen aufgebaut sind, dann läßt man soeinen Mist wie * (MUL), DIV und MOD.
$2B or not $2B

Geändert von himitsu (13. Okt 2012 um 04:28 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#12

AW: Re: Größe einer Datei bestimmen

  Alt 13. Okt 2012, 08:43
Hm. Und warum verschweigst du ihm den Rest:
Zitat:
Note: FileSize can't be used on a text file.
Oder anders: Deine Antwort würde auf die Frage passen: "Wie viele Datensätze befinden sich in einer typisierten Datei?"

Die größe von binären Dateien kann man so nicht bestimmen!
Ach was.
Delphi-Quellcode:
Function TheSizeOf (aFileName : String) : Integer;
Var
 f : File Of Byte;

begin
  AssignFile(f,aFileName);
  ReSet(f);
  MyFileSize := FileSize(F);
  closefile(F);
End;
funktioniert. (Bis 2GB?)

Mir ist neu, das das vom Inhalt abhängt. Die OH besagt übrigens, das 'F' nicht vom Typ 'Textfile' sein darf/kann.
Also Merkregel: Hilfe immer ganz lesen
Yo, und anzweifeln. Immer anzweifeln und selber probieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Größe einer Datei bestimmen

  Alt 13. Okt 2012, 11:22
Nur zum Auslesen der Dateigröße besser nicht über das System.FileSize gehn, denn was mag wohl pasieren, wenn man Zugriffsrechte besitzt oder irgendwer die Datei gerade geöffnet hat?


Was mich aber extrem verwundert:
- Bei den Dateifunktionen in der SysUitls hat man tatsächlich die Dateigröße vergessen zu implementieren.
- Und sogar bei den neuen Funktionen der Delphi-Referenz durchsuchenIOUtils.TFile hat man das total vergessen.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz