| |
|
|
| KompilierenMarcaSeparaciónDECLARE 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
FIN
Der obenstehende Texto se me el komplette Datengrösse de Archivos en Ordnern (y Unterordnern) zeigen. Seltsamerweise se ejecuta el Bucle una Tiempo lang y restos entonces posición - Zusätzlich va el Sache auch muy langsam. Gibt lo una Möglichkeit, más rápido y kompletter el Ergebnis a obtener ? |
|
|
| |
|
|
|
Jörg Sellmeyer | ¡Hola Horst, Das kannst Usted determinado a Su Bedürfnisse adaptar: KompilierenMarcaSeparación!
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
Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.08.2006 ▲ |
|
|
|
|
| ¡Hola Jörg Su Code es weitaus más rápido ! Gracias |
|
|
| |
|
|