| |
|
|
| CompileMarkSeparationDECLARE 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
The obenstehende Text should me The complete Datengrösse of Files Folders (and Subfolders) show. Seltsamerweise runs The Loop a Time long and remaining then stand - Additional goes The thing too very slow. gives it a Possibility, faster and kompletter the Result to obtain ? |
|
|
| |
|
|
|
Jörg Sellmeyer | Hello Horst, the can You certainly on your needs adjust: CompileMarkSeparation!
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
Greeting Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/26/06 ▲ |
|
|
|
|
| Hello Jörg your code is by a long shot faster ! thanks |
|
|
| |
|
|