DLL | | | | - Página 1 - |
|  | Addfiles.Dll
Expediente- y Verzeichnisnamen rekursiv + Features.
<!---->
Descargar/ In el Warenkorb1,50 € inkl. MwSt.
no Versandgebühr
declarar h&
cls
h&=createlistbox(%hwnd,"",10,10,400,200)
chdir "C:\lol"
external("addfiles.dll","AddFiles","*.*",h&,1)
external("addfiles.dll","AddDirs","*.*",h&,1)
external("addfiles.dll","AddFilesEx","*.*",h&,1)
mientras que 1
waitinput
wend
También puede ser con SetProc(procAddr(myProc,1)) una XProfan-Función para el Enumeration einsetzen, y optional por SetMsg(0) en Messages verzichten:
Damit puede Programa z.B. Mostrar tätigen während gesucht se - wichtig wenns veces länger dauert. |
 | 14 kB | 1,50 € inkl. MwSt. no Versandgebühr | | item: | DE-1404 | | Bezeichnung: | Addfiles.Dll | | Versión: | 1.5 | | Kurzbeschreibung: | Addfiles con tollen Erweiterungen. | | Hochgeladen: | 05.02.2009 | | | | Descargar | | | | 16 kB | | Hochgeladen: | 23.12.2015 | | Ladeanzahl: |  | | | Descargar |
| | | | |
| | | | - Página 2 - |
| |  | Der DLL son de Páginas el Rekursion y Expediente/Verzeichnisanzahl jedenfalls no Grenzen gesetzt.
El DLL nutzt el FindFirst-Api y legt el Ergebnisse en el por Handle angegebene Listbox. Listboxen son imho en el Anzahl el Einträge beschränkt. Hier podría uno una Dummyhandle angeben welches el ListBox-Message abfängt y tatsächlich el Daten anders speichert - así könntest Usted tun... o ListBox simplemente subClassen en abzufangen. |
| | | | |
| |  Frank Abbing |
Listboxen son imho en el Anzahl el Einträge beschränkt.
Bajo WinXP no, soweit Hice eigener Erfahrung sprechen kann. Jedenfalls soweit el Speicher reicht. |
| | | | |
| |  Stefan M. Caillet | Hola si, Hab como siempre todavía una kleines Problema con Deiner Addfiles.dll (oder el ListBox, el el Ordner aufnimmt?)! Folgender Code se ejecuta problemlos si yo ihn encima el LW E: (es mi 2. - el Daten-Partition meines Laptops) schicke. Mach Yo el con LW C: , se el 1.LBox anscheinend gefüllt, el Inhalt pero no adecuado, sonden el LBox irgendwann simplemente lejos, y einigezeit später el PROG simplemente geschlossen. Was esta seltsam es, Es el Tatsache, dass el Prog. en mi PC korrekt se ejecuta. Yo empfinde lo sin embargo como muy Wichtig, dass el Prog. auch en mi LapTop perfekt se ejecuta. Como el problema währen ADDDIR auftritt, hoffe Yo, dass Usted el Fehler encontrar kannst. El Anzahl el Ordner debería eigentlich no el problema ser, porque en el PC findet voluntad en LX C: encima 3300 ORDNER gefunden - Auf el LapTop debería lo eigentlich weniger ser. Getestet bajo Win XP , XPROFAN 10.0a + 11.1 KompilierenMarcaSeparaciónSuche bestimmten Ordner auf allen vohandenen und bereiten Laufwerken
Def GetLogicalDrives(0) ! KERNEL32, GetLogicalDrives
Def GetDriveType(1) ! KERNEL32, GetDriveTypeA
Def GetVolumeInformation(8) !KERNEL32,GetVolumeInformationA
Def SetErrorMode(1) !KERNEL32,SetErrorMode
Def ext.addfiles(3) !addfiles.dll, AddFiles
DEF ext.addfilesex(3) !addfiles.dll, AddFilesEx
Def ext.adddirs(3) !addfiles.dll, AddDirs
declare drives&, lw$,Drives$[31],N%,DRV$
declare H&,H0&,H1&,H2&,I%,j%,font&,dll&,mode&,SUCHORDNER$,SUCHFILE$
declare buffer#, dirbuf#, H$
dim buffer#, 4
font&=Create(Font,tahoma,14,0,1,0,0)
dll&=usedll(addfiles.dll)
Proc CheckDrive Test auf Laufwerk bereit (Disk, CD/DVD eingelegt ?)
Parameters drive$
Declare result&,olderrormode&,dw1&,dw2&
Let olderrormode&=SetErrorMode(1)
Let drive$=Upper$(Mid$(drive$,1,1))+:
Dim dirbuf#,Len(drive$)+2
String dirbuf#,0=drive$
Let result&=GetVolumeInformation(dirbuf#,0,0,0,Addr(dw1&),Addr(dw2&),0,0)
SetErrorMode(olderrormode&)
Dispose dirbuf#
Return result&
EndProc
Proc ReadyDrives$
Declare DRV$
drives& = GetLogicalDrives()
whileloop 0, 31
Prüfen ob Laufsbuchstabe vergeben
if TestBit(drives&, &loop)
lw$ = Chr$(&loop + 65) + :
string buffer#, 0 = lw$
Drives$[n%] = LW$ : Inc N%
endif
endwhile
dispose buffer#
Dec N%
DRV$ =
WhileLoop 0, N%
Case CheckDrive(Drives$[&loop])=1 : DRV$ = DRV$ + Drives$[&loop] + |
EndWhile
N% = len(DRV$)/4
DRV$=DRV$+Right$(0+STR$(N%),2)
Return DRV$
EndProc
cls
H& = Create(ListBox,%HWND,1,10,20,200,150)
H0& = Create(ListBox,%HWND,1,216,20,200,150)
H1& = Create(ListBox,%HWND,1,422,20,200,150)
H2& = Create(ListBox,%HWND,1,10,190,612,200) : SetFont H2&,Font&
DRV$=ReadyDrives$()
SuchOrdner$=DESITRONBKPFILES
SuchOrdner$=Upper$(SuchOrdner$)
SuchFile$=SMC_adress.bkp
Suchfile$=Upper$(Suchfile$)
WhileLoop 1,1 1. Laufwerk C: (A: ohne Disk, B: nicht vorhanden) Val(Right$(DRV$,2))
Clearlist H& : Clearlist H0& : Clearlist H1&
print Druchsuche Laufwerk +SubStr$(DRV$,&loop,|);
ChDir SubStr$(DRV$,&loop,|)+
ext.adddirs(*.*,H&,1)
N% = Getcount(H&)
print - > +STR$(N%)+ Ordner vorhanden, wovon ;
waitinput Nur zum Test, um zu sehen, ob erste LBOX korr. gefüllt wird!
N% = 0
WhileLoop GetCount(H&)
If INSTR(SUCHORDNER$,UPPER$(GetString$(H&,N%)))
CaseNot INSTR(SUCHORDNER$+,UPPER$(GetString$(H&,N%))): Addstring(H0&,GetString$(H&,N%))
EndIf
inc N%
EndWhile
N% = Getcount(H0&)
Print Str$(N%)+ +SuchOrdner$
If GetCount(H0&)
N% = 0
WhileLoop GetCount(H0&)
ChDir GetString$(H0&,N%)
ext.addfiles(*.*,H1&,1)
inc N%
Endwhile
Endif
Print Dieser enthält +Str$(GetCount(H1&))+Dateien ;
If GetCount(H1&)
N% = 0
WhileLoop GetCount(H1&)
Case InStr(SuchFile$,Upper$(GetString$(H1&,N%))) : AddString(H2&,GetString$(H1&,N%))
INC N%
EndWhile
Print wovon +STR$(GetCount(H2&))+ +Suchfile$
EndIf
print
EndWhile
If GetCount(H2&)
H$=GetString$(H2&,0)
Print SubStr$(H$,-1,)
endif
Print fertig
WAITINPUT
deleteobject Font&
Gracias. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 06.01.2009 ▲ |
| |
| |  | Teste veces Por favor,, si la ListBox con create(list,...) producido wurde, si el problema entonces auftritt.
Der DLL son en el Grunde el número de Archivos y Ordnern sowie el Rekursion völlig egal. |
| | | | |
| |  Stefan M. Caillet | Hola si, hilft desafortunadamente auch no. Festgestellt tener Todavía Folgendes: Während el Búsqueda beträgt el maximale Prozessorlast zwischen 25% y 52% - Yo como OK erachte. el Speicherbedarf steigt a para Zeitpunkt wo el Ventana geschlossen se en 126510 KB, also knapp 126 MB! Auf el PC liegt el Speicherbedarf en max. 20123 Kb also knapp 20 MB! Diese 126MB finde Yo algo hoch? Was media Usted? Gracias. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 06.01.2009 ▲ |
| |
| |  | Hab todavía kein Plan, Yo podría frühstens morgen una Debug-Versión puesto si esta entonces una vez testen möchtest.
El DLL envía Message 384 = LB_ADDSTRING a el übergebene Handle con Adresse para el Speicher des Stringinhaltes en el lParam.
Usted könntest auch testen y una Static erzeugen y subclassen en Message 384 (LB_ADDSTRING) - el ankommenden lParam z.B. por wm_setText a hWnd weiterleiten y en el Titel vom hWnd sehen, welcher Eintrag como möglicherweise Problemas macht. |
| | | | |
| |  Stefan M. Caillet | Hola si, Gracias para Su Mühe. Sí, selbstverständlich möchte Me gusta por Tests mithelfen el Fehler a lokalisieren. Nur fürchte Yo, dass Yo incluso dazu Su Ayuda en Form el dazu benötigten SubclassProc para el Static. Yo el con el Subclassing desafortunadamente simplemente todavía no en él. ¿Puede Usted me Por favor, el benötigte Erweiterung/Änderung a mi Code zeigen. Yo blanco zwar por Su Ayuda en el vorigen Posting, lo que quiere decir, kann lo aber mangels Sattelfestigkeit en el Subclassing , no en funktionirenden Code umsetzen. Währe Usted muy para Su Ayuda dankbar. Gracias. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 06.01.2009 ▲ |
| |
| |  | Usted kennst el... Usted würdest gerne... aber hast ca. 500 Ventana offen el en Eingaben warten... 
Espero con igual veces... |
| | | | |
| |  Stefan M. Caillet | Also, IF, Yo habe nochmals algo getestet y experimentiert. Hab auch intenta, el con el Subclassing para laufen a kriegen, allerdings sin erfolg - lo war No posible, una Message de Deiner dll abzufangen - scheint a meiner Unfähigkeit en el Subclassprogrammierung a mentira. Jedoch war lo me moglich, LW C: en el LapTop con el XProfan-Befehl Addfiles *.* a durhsuchen. Como aber Addfiles el bekannte Problema con el Staküberlauf ha, (bajo XProfan 11.1 immernoch?? - es jedenfalls todavía así en el Ayuda a XProfan11), möchte Yo más bien en Su dll zurückgreifen. Ein más Vorteil Deiner dll es natürlich el AddDir - Yo hier nämlich eigentlich brauche, como Yo eigentlich primero el ORDNER BKPFILES suchen muss - sin embargo en sämtlichen vorhandenen y lesebereiten Laufwerken. Hast Usted ya ne Concepto (nen Code) con el Yo el con el Subclassing testen kann, en herauszufinden, wo lo hakt? Gracias. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 07.01.2009 ▲ |
| |
| |  | @Stefan de el Updatetext de XPatch111.Zip
AddFiles *. gewaltig beschleunigt y funktioniert ahora para große Festplatten sin Stacküberlauf |
| | | | |
| |  Stefan M. Caillet | @Horst, sí ahora wo Usted lo sagst, kann mich dunkel dran erinnern, veces algo como gelesen a haben. Im Vorteil es, wer se el gelesene auch merken kann.  Gracias. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 07.01.2009 ▲ |
| |
| |  Michael Wodrich | FindFirst - FindNext - FindClose Como gab lo una Speicherleck-Problema, si uno no bien aufpaßt. Außerdem: Wenn FindFirst no Archivos en un Directorio findet, entonces darf en no Fall una FindClose folgen.
Zum Laptop:
Tuve una Vista-Laptop para Testen. Einige Programas liefen no como en mi Heimrechner. Der Grund waren versteckte Systemverzeichnisse de Microsoft en un Fall y una komprimiertes Directorio en un otro Fall.
El Directorio-Namen weiß Yo ahora no mehr, lo waren aber 2 el con Recycling a tun hatten y uno para el Systemwiederherstellung.
Tal vez helfen esta Infos sí más.
Schöne Grüße Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.01.2009 ▲ |
| |
|
Zur DLLTema opciones | 97.332 Views |
ThemeninformationenDieses Thema ha 10 subscriber: |