DLL | | | | - page 1 - |
| | Addfiles.Dll
Dossier- et Verzeichnisnamen rekursiv + Features.
<!---->
Télécharger/ dans den Warenkorb1,50 € inkl. MwSt. aucun Versandgebühr
declare 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)
tandis que 1
waitinput
Wend
Ebenso peux on avec SetProc(procAddr(myProc,1)) une XProfan-Funktion pour qui Enumeration einsetzen, et optionnel per SetMsg(0) sur Messages verzichten:
avec cela peux cela Programme z.B. Montrer tätigen au cours de gesucht wird - important wenns la fois länger dauert. |
| 14 kB | 1,50 € inkl. MwSt. aucun Versandgebühr | | item: | DE-1404 | | Bezeichnung: | Addfiles.Dll | | Version: | 1.5 | | Kurzbeschreibung: | Addfiles avec tollen Erweiterungen. | | Hochgeladen: | 05.02.2009 | | | | Download | | | | 16 kB | | Hochgeladen: | 23.12.2015 | | Downloadcounter: | | | | Download |
| | | | |
| | | | - page 2 - |
| | | qui DLL sommes de Seiten qui Rekursion et Dossier/Verzeichnisanzahl jedenfalls aucun Grenzen gesetzt.
qui DLL utilise qui FindFirst-Api et legt qui Ergebnisse dans qui per Handle angegebene Listbox. Listboxen sommes imho dans qui Nombre de Einträge beschränkt. ici pourrait on un Dummyhandle angeben welches qui ListBox-Message abfängt et réellement qui données anders speichert - so könntest Du 1faire... ou bien qui ListBox simple subClassen um abzufangen. |
| | | | |
| | Frank Abbing |
Listboxen sommes imho dans qui Nombre de Einträge beschränkt.
sous WinXP pas, soweit je aus eigener Erfahrung parler peux. Jedenfalls soweit qui grenier reicht. |
| | | | |
| | Stefan M. Caillet | allô iF, Hab là toujours un kleines Problem avec Deiner Addfiles.dll (ou bien qui ListBox, qui qui Dossier aufnimmt?)! Folgender Code fonctionne problemlos si je ihn sur cela LW E: (ist mon 2. - qui données-Partition meines Laptops) schicke. Mach je cela avec LW C: , wird qui 1.LBox anscheinend pleine, qui le contenu mais pas angezeigt, sonden qui LBox irgendwann simple entfernt, et einigezeit später cela PROG simple geschlossen. quoi dabei seltsam ist, ist qui Tatsache, dass cela Prog. sur meinem PC korrekt fonctionne. je empfinde es cependant comme très important, dass cela Prog. aussi sur meinem LapTop parfait fonctionne. là cela Problem währen ADDDIR auftritt, hoffe je, dass Du den faute trouver peux. qui Nombre de Dossier sollte eigentlich pas cela Problem son, car sur dem PC findet volonté sur LX C: sur 3300 ORDNER trouvé - sur dem LapTop devrait es eigentlich moins son. Getestet sous Win XP , XPROFAN 10.0a + 11.1 KompilierenMarqueSéparationSuche 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&
merci. 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 la fois s'il te plaît, si le ListBox avec create(list,...) erzeugt wurde, si cela Problem ensuite encore auftritt.
qui DLL sommes im Grunde le nombre de Fichiers et Ordnern sowie qui Rekursion völlig égal. |
| | | | |
| | Stefan M. Caillet | allô iF, hilft malheureusement aussi pas. Festgestellt hab je encore Folgendes: Au cours de qui cherche beträgt qui maximale Prozessorlast entre 25% et 52% - quoi je comme OK erachte. qui Speicherbedarf steigt jusqu'à zum la date wohin cela la fenêtre geschlossen wird sur 126510 KB, alors knapp 126 MB! sur dem PC liegt qui Speicherbedarf chez max. 20123 Kb alors knapp 20 MB! cet 126MB finde je quelque chose hoch? quoi meinst Du? merci. 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 encore ne...aucune plan, je pourrait frühstens demain une Debug-Version posten si Du cet ensuite einmal testen vouloir.
qui DLL sendet Message 384 = LB_ADDSTRING à cela übergebene Handle avec Adresse pour den grenier des Stringinhaltes im lParam.
Du könntest aussi testen et un Static erzeugen et subclassen sur Message 384 (LB_ADDSTRING) - den ankommenden lParam z.B. per wm_setText à hWnd weiterleiten et im Titel vom hWnd voyons, quel Eintrag là möglicherweise Probleme pouvoir. |
| | | | |
| | Stefan M. Caillet | allô iF, merci pour Votre Mühe. oui, bien sûr voudrais je volontiers par Tests mithelfen den faute trop lokalisieren. seulement fürchte je, dass je selbst en supplément Votre Aider dans forme qui en supplément nécessaire SubclassProc pour cela Static. nie gemacht avec dem Subclassing malheureusement simple encore pas sur elle. peux Du mir s'il te plaît qui benötigte Erweiterung/Changement à meinem Code montrer. je weiss zwar par Votre Aider im vorigen Posting, quoi Du meinst, peux es mais mangels Sattelfestigkeit im Subclassing , pas dans funktionirenden Code umsetzen. Währe Dir très pour Votre Aider reconnaissant. merci. 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 ▲ |
| |
| | | Du kennst cela... Du würdest volontiers... mais la hâte ca. 500 la fenêtre offen qui sur Eingaben attendre...
je exposition juste la fois... |
| | | | |
| | Stefan M. Caillet | alors, iF, j'ai nochmals quelque chose getestet et experimentiert. Hab aussi versucht, cela avec dem Subclassing zum courir trop kriegen, allerdings sans erfolg - es était Je ne possible, une Message de Deiner dll abzufangen - scheint à meiner Unfähigkeit dans qui Subclassprogrammierung trop liegen. cependant était es mir moglich, LW C: sur dem LapTop avec dem XProfan-Befehl Addfiles *.* trop durhsuchen. là mais Addfiles cela bekannte Problem avec dem Staküberlauf hat, (sous XProfan 11.1 immernoch?? - steht jedenfalls encore so dans qui Aider trop XProfan11), voudrais je lieber sur Votre dll zurückgreifen. un plus Vorteil Deiner dll ist naturellement cela AddDir - quoi je ici nämlich eigentlich brauche, là je eigentlich erstmal den ORDNER BKPFILES chercher muss - cependant sur sämtlichen vorhandenen et lesebereiten Laufwerken. la hâte Du déjà ne concept (nen Code) avec dem je cela avec dem Subclassing testen peux, um herauszufinden, wohin es hakt? merci. 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 aus dem Updatetext de XPatch111.Zip
AddFiles *. gewaltig beschleunigt et funktioniert maintenant aussi pour grand Festplatten sans Stacküberlauf |
| | | | |
| | Stefan M. Caillet | @Horst, oui maintenant wohin Du es sagst, peux mich dunkel tour erinnern, la fois quelque chose comme gelesen trop avons. Im Vorteil ist, qui sich cela gelesene aussi merken peux. merci. 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 là donnais es un Speicherleck-Problem, si on pas bien aufpaßt. Aussi: si FindFirst aucun Fichiers dans einem Verzeichnis findet, ensuite darf sur keinen le cas un FindClose folgen.
Zum Laptop:
je hatte une Vue-Laptop zum Testen. quelques Programme liefen pas so comment sur meinem Heimrechner. qui Grund étions versteckte Systemverzeichnisse de Microsoft dans einem le cas et un komprimiertes Verzeichnis dans einem anderen le cas.
qui Verzeichnis-Namen sais je maintenant pas plus, es étions mais 2 qui avec Recycling trop 1faire hatten et eines pour qui Systemwiederherstellung.
peut-être aider cet Infos oui plus.
belle Grüße Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.01.2009 ▲ |
| |
|
Zur DLLOptions du sujet | 94.975 Views |
Themeninformationencet Thema hat 10 participant: |