Antwort auf: Dateigrösse abfragen

Startseite Foren Deutsches LiveCode-Forum Dateigrösse abfragen Antwort auf: Dateigrösse abfragen

#2511
Klaus Major
Administrator

    Hallo Günther,

    wenn Sie mal schauen möchten, getestet und kunktioniert 🙂

    on mouseUp
       answer file "Bitte Datei auswählen:"
       
       ## User hat CANCEL geklickt!
       if it = EMPTY then
          exit mouseup
       end if
       put it into tFile
       
       ## Siehe unten, Funktion liefert Dateigröße zurück:
       answer wie_gross(tFile)
    end mouseUp
    
    function wie_gross tFile
       ## Zunächst den Namen der Datei merken, den benötigen wir gleich noch:
       set itemdel to "/"
       put item -1 of tFile into tDateiName
       
       ## Nun den Ordner ermitteln, in dem die Datei liegt:
       delete item -1 of tFile
       ## Übrig bleibt der Ordnername! :-)
       
       ## Itemdelimiter wieder auf KOMMA setzen, sonst kalpp der Rest des Skriptes nicht!
       set itemdel to ","
       
       ## Guter Stil, immer alles so zurücklassen, wie wie es vorgefunden haben!
       ## Hier sollten wir daher später "the directory" wieder auf den "Anfangszustand" versetzen!
       put the directory into tOldDir
       
       ## Jetzt geht es ans Eingemachte!
       ## DETAILLIERTEN Inhalt dieses Ordner abfragen:
       set the directory to tFile
       put the LONG files into tLongFiles
       
       ## Bitte LONG files im Dictionary nachschlagen!
       ## Dateinamen werden URLENCODED geliefert mit LONG FILES:
       put urlencode(tDateiName) into tURLDatei
       put lineoffset(tURLDatei,tLongFiles) into tZeile
       
       ## Als Programmiere müssen wir uns leider um JEDEN Scheisss kümmern, also:
       if tZeile = 0 then
          beep
          
          ## Datei nicht vorhanden, warum auch immer? Dann weg hier :-)
          exit to top
       end if
       
       ## OK, Datei vorhanden, weiter gehts:
       put line tZeile of tLongFiles into tZeileMitDatei
       put item 2 of tZeileMitDatei into tGroesse
    
       ## Siehe oben, von wegen guter Stil und so...
       set the directory to tOldDir
       
       ## Gefunden, nun diese Info zurückliefern, aber erst nett aufbereiten, 
       ## vielleicht noch auf- oder abrunden, aber das kannst Du selber machen :-)
       return tGroesse/1024 && "kb"
    end wie_gross

    Gruß

    Klaus