Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Festplatte/n durchsuchen (https://www.delphipraxis.net/92441-festplatte-n-durchsuchen.html)

michi160991 19. Mai 2007 20:55


Festplatte/n durchsuchen
 
Also ich hab ein problem :) ich bin relativ neu hier
So ich möchte mir ein Programm machen wo man nach musik auf seiner festplatte suchen kann beziehungsweiße in bestimmten teilen der festplatte!? also ich hab das so auf gebaut da ist dan ein fenster dort gibt man den titel des songs ein und wenn man dann auf den button suche klickt sollte der titel in einem neuen fenster wie bei der windows suche auf tauchen. leider weiß ich nicht wie ich das hin bekom
danke für eure Hilfe gruß michi

DGL-luke 19. Mai 2007 21:00

Re: Festplatte/n durchsuchen
 
Hallo,

das gehört schwelich zu DB.

Was du brauchst ist wohl MSDN-Library durchsuchenFindFirst.

michi160991 19. Mai 2007 21:05

Re: Festplatte/n durchsuchen
 
ehm wo gehört es dann hin? tut mir leid, wie schon gesagt ich bin neu hier.

wo bekomme ich findfirst her? wenn ich auf deinen link klicke kommt nichts wo man es downloaden könnte oder so.

und wenn ich es dann habe wie baue ich es dann ein?

danke

fwsp 19. Mai 2007 21:10

Re: Festplatte/n durchsuchen
 
FindFirst ist ne Routine. Such einfach mal hier im forum danach. Hier im Forum suchenFindFirst

Matze 19. Mai 2007 21:17

Re: Festplatte/n durchsuchen
 
Hi, herzlich Willkommen!

In der Code-Library findet sich auch so einiges. :) Beispiel.

DP-Maintenance 19. Mai 2007 21:17

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Datenbanken" nach "Object-Pascal / Delphi-Language" verschoben.

michi160991 19. Mai 2007 21:24

Re: Festplatte/n durchsuchen
 
achso okay gut danke... ich hab jetzt hier mal diesen quell text :
Delphi-Quellcode:
// Deklaration ab Delphi 5 
procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);

var
  SR: TSearchRec;
begin
  // Implementation bis einschließlich Delphi 4 
  if RootFolder = '' then
    Exit;
  if AnsiLastChar(RootFolder)^ <> '\' then
    RootFolder := RootFolder + '\';

  // Implementation ab Delphi 5 
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);

  // * * * * * 
  // nur bis einschließlich Delphi 4 benötigt
  if Mask = '' then
    Mask := '*.*';
  // * * * * * 

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            //   der Verzeichnisname steht in SR.Name
            //   der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            //       RootFolder + SR.Name
            if (SR.Name <> '.') and (SR.Name <> '..') then
              FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory <> faDirectory then
        begin
          // --> eine Datei wurde gefunden
          //   der Dateiname steht in SR.Name
          //   der vollständige Dateiname (inkl. Pfadangabe) ist
          //       RootFolder + SR.Name

          // folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
          // Formulars Form1 
          Form1.Memo1.Lines.Add(RootFolder + SR.Name);
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;




so nur ich muss ja noch die suche bestätigen also das er überhaupt sucht oder? wenn ja wie ist der befehl und wo muss dieser hin?


danke

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]

Matze 19. Mai 2007 21:29

Re: Festplatte/n durchsuchen
 
Die Funktion ist nicht die sauberste, da die VCL fest integriert ist. Schau dir mal den Link an, den ich oben gepostet habe (Titel: "Beispiel"). Da ist ein Aufruf enthalten, den du dir abändern kannst.

Die Funktion, die du rausgesucht hast, würde man so aufrufen:

Delphi-Quellcode:
FindAllFiles('C:\Dein Pfad\', '*.mp3', true);
Dann müsstest du die Dateinamen noch gesondert überprüfen:

Delphi-Quellcode:
if (SR.Name <> '.') and (SR.Name <> '..') and (Pos('dein Suchstring im Dateinamen', SR.Name) > 0) then

fwsp 19. Mai 2007 21:30

Re: Festplatte/n durchsuchen
 
Zitat:

Zitat von michi160991
so nur ich muss ja noch die suche bestätigen also das er überhaupt sucht oder? wenn ja wie ist der befehl und wo muss dieser hin?

hast du schon ein wenig ahnung von delphi? wenn nicht, solltest du vllt mit was einfacherem beginnen.
Delphi-Quellcode:
FindAllFiles('C:\' '*.mp3', True);
damit sucht er alle mp3s auf laufwerk c

michi160991 19. Mai 2007 21:33

Re: Festplatte/n durchsuchen
 
naja bischen schon, aber es geht ... danke für die hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz