Seite 1 von 3
Computer durchsuchen (Befehl gesucht)
Verfasst: 07.07.2006 15:13
von winduff
Guten Tach,
gibts eine möglichkeit, via einen Befehl (API?!) den Computer zu durchsuchen?
Meine vorstellung wäre evtl. so:
Search_(suche.s,typen.s,wo.s)
Search_("dokument",".txt","c:\dokumente und einstellungen")
Ich danke im vorraus
Lg
Chris
Re: Computer durchsuchen (Befehl gesucht)
Verfasst: 07.07.2006 15:21
von Kiffi
Hai Chris,
> gibts eine möglichkeit, via einen Befehl (API?!) den Computer zu
> durchsuchen?
ein Befehl reicht da leider nicht aus.
http://www.purebasic.fr/german/viewtopic.php?t=7263
Grüße ... Kiffi
Verfasst: 07.07.2006 15:25
von winduff
Danke Kiffi

Coole sache
Verfasst: 07.07.2006 17:04
von winduff
Soo, nun eine weitere Frage hierzu:
Der Computer muss extrem viele Dateien Suchen, das heisst:
Der Benutzer gibt etwas in einen Stringgadget ein: In dem moment wo eine Taste gedrückt wird, wird der Inhalt des Stringgadgets gelesen, die alte Suche abgebrochen und eine neue mit den neuen Daten angefangen.
Nun, dies erfordert seeehr viel Leistung vom Computer, vorallem wenn der Anwender schnell tippt. Ein Delay hilft nicht viel - von daher: Gibts eine weitere möglichkeit, dem Computer etwas mehr Zeit zu schenken?
Lg,
Chris
Re: Computer durchsuchen (Befehl gesucht)
Verfasst: 07.07.2006 17:12
von ts-soft
Kiffi hat geschrieben:
ein Befehl reicht da leider nicht aus.


Verfasst: 07.07.2006 17:16
von winduff
lol

Verfasst: 07.07.2006 17:17
von Kiffi
winduff hat geschrieben:Nun, dies erfordert seeehr viel Leistung vom Computer, vorallem wenn der Anwender schnell tippt. Ein Delay hilft nicht viel - von daher: Gibts eine weitere möglichkeit, dem Computer etwas mehr Zeit zu schenken?
ich habe was ähnliches gemacht. Ich bin dabei so vorgegangen, dass bei
Eingabe in das StringGadget ein Counter gestartet wird und die Suche
dann nach einer Sekunde startet. Hier mal der Code dazu:
Code: Alles auswählen
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
GadgetID = EventGadget()
If GadgetID = #txtInput
; Wenn in das txtInput-Gadget etwas eingetippt wurde,
; dann alle entsprechenden Einträge anzeigen
lEM = ElapsedMilliseconds()
lKeyPress = 1
EndIf
Default
If lEM + 1000 < ElapsedMilliseconds()
If lKeyPress = 1
If Len(GetGadgetText(#txtInput))>0
HideGadget(#LV,1)
; Jetzt geht's lohos!
HideGadget(#LV,0)
EndIf
EndIf
lKeyPress = 0
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow
Grüße ... Kiffi
Verfasst: 07.07.2006 17:20
von Alves
Macht ihr das nicht mit Threads`?
Ist dch wesentlich besser, oder nciht?
Verfasst: 07.07.2006 17:23
von winduff
danke kiffi

Verfasst: 07.07.2006 17:36
von Kiffi
Alves hat geschrieben:Macht ihr das nicht mit Threads`?
ich muss zugeben, dass der Code noch aus 3.94-Zeiten stammt (also als
Threads noch relativ 'absturzsicher' waren). Ob sich das 'heutzutage' mit Threads
besser lösen liesse, müsste man prüfen.
Aber der Zweck heiligt die Mittel. Ich habe mit meiner Methode keine
negativen Erfahrungen gemacht.
Grüße ... Kiffi