Computer durchsuchen (Befehl gesucht)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Computer durchsuchen (Befehl gesucht)

Beitrag 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
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Computer durchsuchen (Befehl gesucht)

Beitrag 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
a²+b²=mc²
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

Danke Kiffi :allright: Coole sache
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag 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
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Computer durchsuchen (Befehl gesucht)

Beitrag von ts-soft »

Kiffi hat geschrieben: ein Befehl reicht da leider nicht aus. ;-)

Code: Alles auswählen

PostMessage_(FindWindow_("ProgMan",0),$0100,$72,0)
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

lol /:-> :twisted:
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Macht ihr das nicht mit Threads`?

Ist dch wesentlich besser, oder nciht?
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

danke kiffi :-)
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Antworten