Italia
Foro

Komplette Dateigrösse feststellen

 

KompilierenMarkierenSeparieren
DECLARE prozente%,vol_HD$,vol_HD!,vol_trash!
DECLARE list1&,list&,datei!,gross!,datei$,menge%,EE%,I%,txt%
I%=0
datei!=0
EE%=0
DECIMALS 3
prozente% = Val(Readini$("HKEY_DW_2","SOFTWAREMicrosoftWindowsCurrentVersionExplorerBitBucket","Percent"))
CLS
vol_HD$= Str$(@DiskSize("C:"))
vol_HD!=VAL(vol_HD$)
vol_trash!=DIV(vol_HD!,prozente%)
print vol_HD!+" kb  Plattengrösse"
print vol_trash!+" kb  Papierkorb"
------------------------------------
CHDIR "C:\WINDOWS"
addfiles "*.*"
addfiles *"*.*" Hier werden alle Dateien gelesen
list1&=CREATE("LISTBOX",%HWnd,"",%MaxX+10,0,0,0)
MoveListToList(list1&)
menge%=GETCOUNT(list1&)
list&=CREATE("LISTBOX",%HWnd,"",10,60,600,350)

WhileNot EQU(I%,menge%)

    datei$=GetString$(list1&,I%)

    IF EQU$(LEFT$(datei$,1),"[")

        INC I%
        CONTINUE

    ENDIF

    gross!=FILESIZE(datei$)
    Addstring (list&,datei$)
    MoveListToList(list&)
    SelectString(list&,-1,datei$)
    datei!=datei!+gross!
    INC I%
    txt%=CREATE("TEXT",%HWnd,STR$(datei!),0,35,600,20)

WEND

WAITINPUT
END

Der obenstehende Text soll mir die komplette Datengrösse von File in Ordnern (und Unterordnern) zeigen. Seltsamerweise corre die Schleife eine Zeit lang und bleibt dann stehen - Zusätzlich geht die Sache auch sehr langsam. Gibt es eine Möglichkeit, schneller und kompletter das Ergebnis zu erhalten ?
 
26.08.2006  
 




Jörg
Sellmeyer
Hallo Horst,
Das kannst Du bestimmt an Deine Bedürfnisse anpassen:
KompilierenMarkierenSeparieren
!
Def LockWindowUpdate(1) !"USER32","LockWindowUpdate"
Def LVENSUREVISIBLE(2) SendMessage(&(1),4115,&(2),0)
Declare Liste&,Datei$,size!,l%
Cls
Liste& = Create("GridBox",%hwnd,"Datei;0;360;Größe;0;110",1,0,0,492,300)
ChDir $Winpath
ClearList
AddFiles "*"
AddFiles *"*"

If %GetCount > -1

    LockWindowUpdate(Liste&)Wenn Du das Füllen der Liste sehen willst, muß Du das auskommentieren

    WhileLoop 0,%getcount

        Datei$=ListBoxItem$(&Loop)

        If Left$(Datei$,1) <> "["

            size! = If(FileSize(Datei$) < 1024,FileSize(Datei$),FileSize(Datei$) / 1024)
            AddString(Liste&,Datei$ + "|" + Str$(size!) + " kb")
            SelectString(Liste&,&Loop,Datei$)Das würde ich nicht einbauen weil es den Prozess erheblich verlangsamt!
            LVENSUREVISIBLE(Liste&,&Loop)muß im Moment noch mit rein, Roland baut es aber noch mit in XProfan ein
            Lieber eine Fortschrittsanzeige. Ganz Simpel so:

            If Not(Mod(&Loop,200))Sind aber auch alles Bremsen!

                Inc l%
                WindowTitle "Moment noch" + MkStr$(".",l%)

            EndIf

        EndIf

    Wend

    ClearList
    MoveListToHandle(Liste&)
    WindowTitle "Fertig!"
    LockWindowUpdate(0)

EndIf

WaitInput

Saluto
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2006  
 



Hallo Jörg
Dein Code ist weitaus schneller !
Danke
 
26.08.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

842 Views

Untitledvor 0 min.
RudiB.29.04.2020
mein17.01.2011
Julian Schmidt11.01.2011

Themeninformationen

Dieses Thema hat 2 subscriber:

unbekannt (2x)
Jörg Sellmeyer (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie