Seite 1 von 2
DirectoryEntrySize() byte in mb umrechnen?
Verfasst: 24.03.2005 11:27
von Pure-r-Freak
ich würde gerne die größe der dateien in Mb oder Kb anzeigen aber wie mach ich das am besten?
gibts schon ein befehl, der das erledigt oder wie muss man das umrechnen.

Verfasst: 24.03.2005 11:57
von zigapeda
Ich habe jetzt nicht genauer nachgeschaut aber wenn der Befehl die größe in byte ausgibt musst du die bytes einfach durch 1024 teilen um kilobytes zu erhalten, nochmal durch 1024 um megabyte zu erhalten usw. also immer durch 1024 um die höhere stufe zu erhalten auser bei bit: bit durch 8 wird byte. umgekehrt musst du dann statt teilen multiplizieren.
mfg zigapeda
Verfasst: 24.03.2005 12:14
von ts-soft
>> auser bei bit: bit durch 8 wird byte
Sicher ?
Verfasst: 24.03.2005 12:25
von Pure-r-Freak
ok so halbwegs funzt es
aber bei dateien unter
1 mb zigt er null an. wie kann ich das ändern?
Code: Alles auswählen
OpenConsole()
Ok=ExamineDirectory(0,"c:\downloads","")
If Ok=0
PrintN(" - Verzeichnis kann nicht durchsucht werden!")
EndIf
Repeat
FileType = NextDirectoryEntry()
If FileType = 1
FileName$ = DirectoryEntryName()
FileName$ = " "+FileName$
size = DirectoryEntrySize() / 1024 / 1024
PrintN(" - "+(FileName$)+" Groesse: "+Str(size)+" Mb")
size = 0
FileName$=""
ElseIf FileType = 2 ; Directory type
FileName$ = DirectoryEntryName()
FileName$ = "(DIR) "+FileName$
PrintN(" - "+(FileName$)+"")
FileName$=""
EndIf
Until FileType = 0
Input()
Verfasst: 24.03.2005 12:39
von ts-soft
Code: Alles auswählen
OpenConsole()
Ok=ExamineDirectory(0,"E:\TS-Temp\sdlBASIC\","")
If Ok=0
PrintN(" - Verzeichnis kann nicht durchsucht werden!")
EndIf
Repeat
FileType = NextDirectoryEntry()
If FileType = 1
FileName$ = DirectoryEntryName()
FileName$ = " "+FileName$
size = DirectoryEntrySize()
If size < 1024
PrintN(" - "+(FileName$)+" Groesse: "+Str(size)+" Bytes")
ElseIf size < 1024 * 1024
PrintN(" - "+(FileName$)+" Groesse: "+Str(size / 1024)+" KBytes")
Else
PrintN(" - "+(FileName$)+" Groesse: "+Str(size /1024 / 1024)+" MBytes")
EndIf
size = 0
FileName$=""
ElseIf FileType = 2 ; Directory type
FileName$ = DirectoryEntryName()
FileName$ = "(DIR) "+FileName$
PrintN(" - "+(FileName$)+"")
FileName$=""
EndIf
Until FileType = 0
Input()
Verfasst: 24.03.2005 12:45
von Pure-r-Freak
ja danke

Verfasst: 24.03.2005 12:49
von ts-soft
Das schaffste hoffentlich nächstesmal allein ! Oder, war doch nicht schwer

Verfasst: 24.03.2005 13:44
von zigapeda
@ts-soft ja bit duch 8 = byte beispiel: ein byte hat 8 bit => 1000 byte haben 8000 bit. 8000 / 8 = 1000
Verfasst: 24.03.2005 13:49
von ts-soft
Ich glaub das Bit wird böse, wenn Du es durch 8 Teilst

Verfasst: 24.03.2005 14:11
von zigapeda
nur die anzahl der bit durch 8 um die anzahl an byte rauszufinden.