| Autor |
Beitrag |
mcbrunox
      
Beiträge: 92
|
Verfasst: Do 06.02.03 19:32
kann ich das ? mit assignfile gehts mal nich
bei openfile find ich nichts wie ich die dateigrösse ermitteln kann,
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 92
|
Verfasst: 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 
      
Beiträge: 92
|
Verfasst: Do 06.02.03 21:25
habs mit findfirst gmacht
thX
|
|
smiegel
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: 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 |
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: 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; |
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
opfer.der.genauigkeit
      
Beiträge: 754
Erhaltene Danke: 1
|
Verfasst: Fr 07.02.03 10:06
Probiers mal mit dem Befehl SizeOf(Dateiname).
Das Ergebnis ist dann die Anzahl der Bytes.
_________________ Stellen Sie sich bitte Zirkusmusik vor.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 754
Erhaltene Danke: 1
|
Verfasst: Fr 07.02.03 10:55
_________________ Stellen Sie sich bitte Zirkusmusik vor.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
Zuletzt bearbeitet von Luckie am Fr 07.02.03 11:11, insgesamt 1-mal bearbeitet
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: 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...
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
opfer.der.genauigkeit
      
Beiträge: 754
Erhaltene Danke: 1
|
Verfasst: Fr 07.02.03 15:32
Jo, Luckie hat auch recht. 
_________________ Stellen Sie sich bitte Zirkusmusik vor.
|
|