Dateigröße feststellen
-
Die Überschrift passt nicht zum Beitrag.
-
Hallo
sollte doch mit FindFirstFile oder so
auch gehen (ohne die Datei zu oeffnen)MfG
Klaus
-
hmmm... also ich hab da mal anchgeschaut und habe leider imemr noch nichts gefunden! hat denn niemand ne ahnung? es muss doch irgendwie möglich sein, dass man einfach ne Dateigröße herausfindet! Das ganze kann von mir aus auch mit ner INDYHTTP komponente geschehen vor/nach/während dem Download... wäre froh über jede konstruktive antwort!
cYa pl1zahd
-
OMG. Diese kleine Information 'vor oder nach dem Download' läßt das natürlich in einem anderen Licht erscheinen. Alle Antworten bezogen sich natürlich auf lokale Dateien...
Schau Dir mal TIdFTP an. Da gibt es die Methode List. Damit sollten sich auch Detailinformationen abrufen lassen.
-
es ist einfach so... entweder frage ich die Größe vor dem Download ab (von dem server) oder wenn die Datei gedownloaded wurde dann auf dem System! egal wie ichs mache... hauptsache es funktioniert

cYa pl1zahd
-
wenn lokal:
unsigned long size=0; File *file; file = fopen ("...","r"); if (file==NULL) return 0; fseek(file,0,SEEK_END); size=ftell(file); fseek(file,0,SEEK_SET);Wenn nicht gibts auch mehrere Beiträge im ANSI C Forum dazu...

-
Hi MasterCounter!
erstmal danke für deinen Beitrag und den anderen auch schonma!
Leider geht dein Vorschlag nicht! Ich bekomme im C++ Builder folgende Fehlermeldungen:
"Undefiniertes Symbol 'File'"
"Ungültige Verwendung von typdef 'file'"Ich hab mal bissl mit diesem code rumgespielt und wenn ich das 'File' durch 'file' ersetze und statt 'file' irgendwas anderes geschrieben habe dann meckerte er ned mehr so viel aber er meckerte trotzdem noch...
als nun mein code so aussah:
unsigned long size=0; file *datei; datei = fopen ("...","r"); if (datei==NULL) return 0; fseek(datei,0,SEEK_END); size=ftell(datei); fseek(datei,0,SEEK_SET);Meckerte er nur noch darüber:
"Konvertierung von 'FILE *' nach 'void * *' nicht möglich"
"Konvertierung von 'void * *' nach 'FILE *' nicht möglich"was mach ich da noch falsch?
cYa pl1zahd
-
Wenn es tatsächlich um lokale Dateien geht.
Sieh mal in der BCB Hilfe unter TSearchRec und passend dazu das Beispiel zu FindClose / FindFirst / FindNext an.
-
sorry, fehler von mir...
es mussFILE *file;heißen

ach aj, und bei
file=fopen("...","r");muss du das "..." natürlich noch durch deinen Pfad ersetzen (z.B.: "c:\\test.txt")
-
@ MasterCounter:
Ja das ist mir schon klar mit dem Dateipfad

zu deinem oberen code... also das FILE nimmt er bei mir gar nicht an... der compiler sagt "Undefiniertes Symbol 'FILE'"!
@ Joe_M.:
Danke! Deine lösung funktioniert perfekt! Danke für deine Hilfe und danke auch allen anderen die mir geholfen haben! Mein Programm ist fast fertig! muss nur noch bissl den feinschliff machen dann kann ichs abgeben... hoffentlich haben dich die mühen dann wenigstens gelohnt

cYa pl1zahd
-
Hallo,
ich habs in der Anwendung ma so gelöst. Ob nu richtig oder nicht weis ich nicht aber es geht///////////include///////////////// #include <fstream> using namespace std; AnsiString Filename; int handle; handle = open(Filename.c_str() ,O_RDONLY | O_BINARY); long int FGroesse = filelength(handle); close(handle);gruss
waldseeduo