Entwickler-Ecke
Dateizugriff - zur laufzeit die dateigrösse ermitteln
mcbrunox - Do 06.02.03 19:32
Titel: zur laufzeit die dateigrösse ermitteln
kann ich das ? mit assignfile gehts mal nich
bei openfile find ich nichts wie ich die dateigrösse ermitteln kann,
Delete - Do 06.02.03 19:36
FileSize, z.B.
In dem Fall muss die gewünschte Datei vorher zugewiesen werden.
Ein Beispiel spare ich mir; ´s steht nämlich eins in der Delphi-Hilfe (F1).
mcbrunox - Do 06.02.03 21:07
finds ja lustig...ne will bei meinem programm zur laufzeit die dateigrösse ermitteln.
bei assign gibts ne fehler meldung weil die datei ja schon ausgeführt wird
und bei fopen ebenfalls - bis jetzt zumindest
mcbrunox - Do 06.02.03 21:25
habs mit findfirst gmacht
thX
smiegel - Do 06.02.03 22:22
Hallo,
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function GetDateiGroesse(const aFileName:String):Int64; var sh:THandle; wd:TWin32FindData; begin sh:=FindFirstFile(PChar(ExpandFileName(aFileName)), wd); try if (sh<>INVALID_HANDLE_VALUE) then Result:=(wd.nFileSizeHigh*MAXDWORD)+wd.nFileSizeLow else Result:=0; finally Windows.FindClose(sh); end; // try end; // GetDateiGroesse |
DaRkFiRe - Fr 07.02.03 00:14
wie wär's mit...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function getFileSize(sFileName:STRING):LONGINT; var rfs:tfilestream; begin Result:=-1; try rfs:=tfilestream.create(sFilename, fmopenread or fmsharedenywrite); result:=rfs.size; rfs.free; except end; end; |
opfer.der.genauigkeit - Fr 07.02.03 10:06
Probiers mal mit dem Befehl SizeOf(Dateiname).
Das Ergebnis ist dann die Anzahl der Bytes.
Delete - Fr 07.02.03 10:18
Schon mal in die Hilfe gekuckt:
sizeof
| Zitat: |
Returns the number of bytes occupied by a variable or type.
|
Moderiert von
Tino: Beitrag geändert.
opfer.der.genauigkeit - Fr 07.02.03 10:55
Hm Luckie... ich sag nur was mir einfällt...
Außerdem müßte es doch gehen wenn ich:
Quelltext
1: 2: 3: 4: 5:
| var F : file of ... begin .... .... sizeof(f); end; |
Moderiert von
Tino: Code-Tags hinzugefügt.
Moderiert von
Tino: Beitrag geändert.
Delete - Fr 07.02.03 11:03
OK, wenn du meinst:
Die Aussage ist falsche weil, du damit die Größe des Datentyps bekommst und nichts anderes. In diesem Fall bekommst du die Größe des Datentyps TFile oder was du da angibst.
Moderiert von
Tino: Beitrag geändert.
DaRkFiRe - Fr 07.02.03 13:59
Muss Luckie auch zustimmen - SizeOf dient lediglich dazu, die interne Größe der verwendeten Variablen zu ermitteln, um sie z.B. in eine Datei schreiben zu können (in Win 3.xx ist ein Integer eben nur 16 Bit [2 Bytes] lang, in Win 9x / ME 32 Bit [4 Bytes] lang und in NT XP kann er sogar 64 Bits [8 Byte]) groß sein. Also SizeOf dient keinesfalls der Dateigrößenermittlung. FileSize(F) schon, wobei F vom Typ File oder TextFile - dabei müsste vorher F per AssignFile(F,DateiName) der Variable F einem Dateinamen zugewiesen werden...
opfer.der.genauigkeit - Fr 07.02.03 15:32
Jo, Luckie hat auch recht. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!