AGB  ·  Datenschutz  ·  Impressum  







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

FindFirst

Ein Thema von TheAn00bis · begonnen am 13. Sep 2005 · letzter Beitrag vom 7. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#1

FindFirst

  Alt 13. Sep 2005, 15:00
Hi,

Ich möchte alle Dateien vom Typen "ini" im Ordner finden, in dem die Application ausgeführt wird.
Da ich dann natürlich auch auf die Dateien zugreifen will, brauche ich deren Namen.

Über die Suche bin ich auf Find First und FindNext gestoßen. Allerdings weiß ich erstens nicht, wie ich dort den Pfad der Anwendung angeben kann, zweitens, was das zweite Parameter "Attr" soll (ist auch in der Hilfe nicht erklärt!) und drittens übergibt mir die Funktion ja einen Integer. Aber wie komme ich über den Integer auf den Namen der Datei?

Und wenn mir FindFirst dann einen Datei-Namen genannt hat, wie kann ich diesen dann Speichern? Als String?

Ich habe die DP schon durchsucht, aber immer nur Hinweise auf die Suchfunktion gefunden...

Wäre nett, wenn mir einer helfen könnte.


edit: Erstes Problem gelöst, den aktuellen Pfad bekomme ich mit ExtractFilePath(ParamStr(0)).
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: FindFirst

  Alt 13. Sep 2005, 15:08
also die delphi oh gibt mir das function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#3

Re: FindFirst

  Alt 13. Sep 2005, 15:15
Zitat von ibp:
also die delphi oh gibt mir das function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
Mir auch, aber wie hilft mir das? Wie ich in dem Post geschrieben habe, kann ich mit Attr nichts anfangen. Außerdem übergiebt mir FindFirst eine 0 wenn er was gefunden hat. Aber dann habe ich eine 0, nicht den Namen...
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

Re: FindFirst

  Alt 13. Sep 2005, 15:25
dann lies doch mal weiter in der oh! da steht drin was man bei attr alles angeben kann und dein ergebnis ist dann in F zu finden! ausserdem ist bei mir in der oh noch ein beispiel an dem man sich versuchen kann!
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#5

Re: FindFirst

  Alt 13. Sep 2005, 15:34
Zitat von ibp:
dann lies doch mal weiter in der oh! da steht drin was man bei attr alles angeben kann und dein ergebnis ist dann in F zu finden! ausserdem ist bei mir in der oh noch ein beispiel an dem man sich versuchen kann!
Wow, das Bsp habe ich gar nicht bemerkt. Und ich dachte in F kommen die Parameter rein, aber die kommen ja in Attr!

Danke!
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#6

Re: FindFirst

  Alt 13. Sep 2005, 15:45
Hier ein kleines Beispiel:

Delphi-Quellcode:
procedure GetFiles(const VerzeichnisMitWildcards: String; var Liste: TStringList);
var
  search : TSearchRec;
  dateien: String;
  verz : String;
begin
  Liste.Clear;
  verz := ExtractFilePath(VerzeichnisMitWildcards);
  if verz[Length(verz)]<>'\then
    verz:= verz+'\';
  dateien:= ExtractFileName(VerzeichnisMitWildcards);

  if FindFirst(VerzeichnisMitWildcards, faArchive, search)=0 then
  begin
    repeat
      Liste.Add(verz+search.Name);
    until FindNext(search)<>0;
  end;
  FindClose(search);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  list: TStringList;
begin
  list := TStringList.Create;
  GetFiles('c:\irgendwo\*.ini', list);
  ListBox1.Items.Assign(List);
  list.Free;
end;

So sollte es richtig sein.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#7

Re: FindFirst

  Alt 7. Feb 2007, 09:53
Wie kriege ich das zum laufen wenn ich Datein aus dem Internet laden will???
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: FindFirst

  Alt 7. Feb 2007, 10:13
Wie meinst Du das? Liegen die Dateien auf einem FTP oder HTTP Server?
Wenn ja, da wird FindFirst nicht funktionieren.
Bei FTP solltest Du dir eine Liste des Directories liefern lassen
und bei HTTP mußt Du wohl oder übel die Webseite durchsuchen/parsen.

Die gewonnenen Daten kannst Du dann in einer Schleife verarbeiten
und die Dateien dann nach und nach abholen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#9

Re: FindFirst

  Alt 7. Feb 2007, 10:15
Also es ist ein FTP Server(meiner) gibt es vielleicht nen Tutorial wie man das macht????
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: FindFirst

  Alt 7. Feb 2007, 10:19
Einen Einstieg mit den Indy Komponenten findest Du hier -> http://www.dsdt.info/tutorials/indy/?page=4

Dort ist auch erklärt wie man ein Directory Listing erhält.

Und bitte mach einen neunen Thread auf, wenn es um ein anderes Thema geht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:29 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