AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FindFile function funktzt net

Ein Thema von Master_BB · begonnen am 18. Jul 2004 · letzter Beitrag vom 18. Jul 2004
Antwort Antwort
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

FindFile function funktzt net

  Alt 18. Jul 2004, 18:00
Hya,
nun hab ich den selben Psydo fehler bei meiner FindFile Funktion wie bei der FindPath bzw FindDir funktion.
Er such und er findet. Jedoch wird der fund nur in meine listbox ausgegeben - Result wird nicht gefüllt.
Könnte es einer mal testen ob es bei ihm läuft ich schnall nicht warum nicht geht.

Delphi-Quellcode:
function TForm1.FindFile(ToBeFound, ASearchPath : string) : string;
var
  ASearchRec : TSearchRec;
begin
  Result := '';

  if ASearchPath[Length(ASearchPath)] <> '\then
    ASearchPath := ASearchPath + '\';

  if FindFirst(ASearchPath + '*.*', faAnyFile, ASearchRec) = 0 then
  begin
    repeat
      if CompareText(ToBeFound, ASearchRec.Name) = 0 then
      begin
        ListBox1.Items.Add(ASearchPath + ASearchRec.Name);
        Result := ASearchPath;
        Break;
      end;
    until FindNext(ASearchRec) <> 0;
  end;
  FindClose(ASearchRec);

 if FindFirst(ASearchPath + '*.*', faDirectory, ASearchRec) = 0 then
 begin
   repeat
     if ((ASearchRec.Attr and faDirectory) = faDirectory) and
        (ASearchRec.Name <> '..') and
        (ASearchRec.Name <> '.') then
     begin
       FindFile(ToBeFound, ASearchPath + ASearchRec.Name);
     end;
   until FindNext(ASearchRec) <> 0;
 end;
 FindClose(ASearchRec);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(FindFile(Edit1.Text,'E:\'));
end;
in der Listbox wird der Pfad mit der gefundenen file sehr schön angezeigt aber nicht in der messagebox
da Result = '' ist anstatt das da ASearchPath drin ist

Greetz
Master_BB
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:04
Du musst ASearchPath als Result übergeben, damit du die Funktion so aufrufen kannst, also einfach in der Funkiotn:

Result := ASearchPath; Edit, also ich meine am Ende der Funktion.
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#3

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:07
wiso am ende der funktion?
was ist wenn er nichts findet?
es reicht doch wenn Result der Path zugewiesenwird
wenn ToBeFound mit der gefundenen Datei übereinstimmt... oder nicht?

und wo genau soll ich result nocheinmal zuweisen?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:11
Ich hab deinen Code gerade getestet, in meiner ListBox wird gar nichts angezeigt.
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#5

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:12
naja du solltest nach etwas suchen was es auch gibt und das verzeichnis vieleicht ändern
wenn du kein e:\ hast

- bei mir zeit er mir die file an
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:16
Ach ne, blöd bin ich auch net!
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#7

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:17
Delphi-Quellcode:
function TForm1.FindFile(ToBeFound, ASearchPath : string) : string;
var
  ASearchRec : TSearchRec;
begin
  Result := '';

  if ASearchPath[Length(ASearchPath)] <> '\then
    ASearchPath := ASearchPath + '\';

  if FindFirst(ASearchPath + '*.*', faAnyFile, ASearchRec) = 0 then
  begin
    repeat
      if CompareText(ToBeFound, ASearchRec.Name) = 0 then
      begin
        ListBox1.Items.Add(ASearchPath + ASearchRec.Name);

// Result := ASearchPath;
// Wieso weisst du den Pfad zu?? muss das nicht heissen
        Result := ASearchPath + ASearch.Name;

        Break;
      end;
    until FindNext(ASearchRec) <> 0;
  end;
  FindClose(ASearchRec);

//
  if Result <> 'then exit;
// Die Zeile bitte einfügen, weil du musst die Unterverzeichnise nicht durchsuchen
// wenn du die Datei schon gefunden hast

if FindFirst(ASearchPath + '*.*', faDirectory, ASearchRec) = 0 then
begin
   repeat
     if ((ASearchRec.Attr and faDirectory) = faDirectory) and
        (ASearchRec.Name <> '..') and
        (ASearchRec.Name <> '.') then
     begin

// FindFile(ToBeFound, ASearchPath + ASearchRec.Name);
// Hier der selbe fehlder wie anfangs bei deiner FindDir funktion.
     Result := FindFile(ToBeFound, ASearchPath + ASearchRec.Name);
     if Result <> 'then break; // Abbruch wenn was gefunden wurde im Unterverzeichnis



     end;
   until FindNext(ASearchRec) <> 0;
end;
FindClose(ASearchRec);
end;
Ich hab mal korrigiert, und es mit // gekennzeichnet
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#8

Re: FindFile function funktzt net

  Alt 18. Jul 2004, 18:19
ah THX ratanplan99
ich weise nur den pfad zu da ich nur den pfad benötige wo die gesuchtefile drin ist
- aber es klappt jetzt

JETZT hab ich auch endlich den fehler von FindDir gesehn
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 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