Dateigröße ermitteln VB6

Dieses Thema Dateigröße ermitteln VB6 im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Spazz, 20. Juli 2004.

Thema: Dateigröße ermitteln VB6 Hi, wollte mittels FileLen die Größe einer Datei ermitteln. die datei ist 3,2 GB groß! Zurückgegebener Wert =...

  1. Hi,

    wollte mittels FileLen die Größe einer Datei ermitteln.

    die datei ist 3,2 GB groß! Zurückgegebener Wert = -997653468

    bei einer kleineren Datei mit nur 1,5 GB funktioniert es!

    jemand ne idee warum? und wie kann ich die 3,2 GB in Programm ermitteln?

    liegt es am Variablentyp long? mit welchem typ könnte ich den wert darstellen?

    Mercì im Voraus!!!

    MfG
     
  2. also mit double gehts auch net!!!
     
  3. Hi

    Geh auf Projekt >> Verweise und such in der Liste die Komponente Microsoft Scripting Runtime und setze ein Häkchen dran.

    Nun kannst du mit folgender Function die Dateigröße ermitteln:
    Code:
    Public Function FileSize(ByVal sFile As String) As Double
        Dim objFso As FileSystemObject
        Dim objFile As File
      
        Set objFso = New FileSystemObject
        Set objFile = objFso.GetFile(sFile)
        FileSize = objFile.Size
        Set objFile = Nothing
        Set objFso = Nothing
    End Function
    Mfg Alexander
     
  4. Das hatte ich schon mal versucht!

    bekomme dann immer die meldung

    automatisierungsfehler:
    das angegebene Modul kann nicht gefunden werden!

    der verweis ist gemacht!

    woran liegt das???
     
  5. Hi

    Laut Google.de ist die Komponente dann defekt.
    Hier kannst du die RunTime 6.0 herunterladen: Klick

    Mfg Alexander
     
  6. hhhmm....der automatisierungsfehler ist weg...aber etz kommt:

    Fehler beim Kompilieren:
    Erwartet Audruck!

    wieso kann ich mit der filelen funktion die 3,2 GB nicht darstellen?
    müsste doch mit double gehen oder?
     
  7. sorry..der automatisierungsfehler besteht weiterhin!
     
  8. habe die scrrun.dll ersetzt...keine wirkung!
     
  9. Hi

    An welcher Stelle im Code kommt den der Fehler?

    Die Function FileLen gibt einen Long-Wert zurück, die die Anzahl der Bytes der Dateigröße enthält.
    Eine Long-Variable kann eine maximale Zahl von 2.147.483.648 erfassen.

    Wenn du dir nun folgende Tabelle ansiehst wird dir mit Sicherheit was auffallen:

    1 Gigabyte = 1.073.741.824 Byte
    2 Gigabyte = 2.147.483.648 Byte
    3 Gigabyte = 3.221.225.472 Byte

    Genau! Die Byte-Zahl bei 3 Gigabyte ist zu groß für eine Long-Variable, deshalb kann die Function FileLen auch keine Dateigrößen mit der größe von 3 Gigabyte erfassen.

    Mit der FileSize-Function von der Microsoft Scriping Runtime-Komponente gibt einen Double-Wert zurück, der viel größere Zahlen erfassen kann als der Long-Variablentyp es kann.

    P.s.: Es gibt eine Editier-Funktion im Forum ;) ;D

    Mfg Alexander
     
  10. Public Function FileSize(ByVal sFile As String) As Double
    Dim objFso As FileSystemObject
    Dim objFile As File

    Set objFso = New FileSystemObject <---- hier tritt der fehler auf
    Set objFile = objFso.GetFile(sFile)
    FileSize = objFile.Size
    Set objFile = Nothing
    Set objFso = Nothing
    End Function


    hhmm...hast noch ne idee alexander16???
    ich net mehr... hab mir noch das sp 6 runtergeladen. nach installation hat sich aber der rechner immer wieder aufgehängt! versuchs morgen nochmal... danke
     
Die Seite wird geladen...

Dateigröße ermitteln VB6 - Ähnliche Themen

Forum Datum
Dateigröße nach Kopiervorgang unrealistisch groß Windows 10 Forum 26. März 2016
Dateigröße auslesen mit batch programmierung Software: Empfehlungen, Gesuche & Problemlösungen 6. Feb. 2015
Auschneiden von Bilddateien führt zur Veränderung der Dateigröße Windows 7 Forum 20. Juli 2014
Wie PDF's in der Dateigröße verkleinern? (zb von 5 MB auf 1 MB) Software: Empfehlungen, Gesuche & Problemlösungen 3. Nov. 2010
Fat32 Dateigrößenbeschränkung ändern....???? Windows XP Forum 22. Mai 2008