AGB  ·  Datenschutz  ·  Impressum  







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

Findfirst,Findnext schulung

Ein Thema von SaFu · begonnen am 23. Jul 2007 · letzter Beitrag vom 23. Jul 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Findfirst,Findnext schulung

  Alt 23. Jul 2007, 14:35
hi

da ich in der letzten zeit ziemlich oft probleme habe mehrere dateien aus einem ordner zu kopieren oder aufeinmal auszulesen bitte ich euch darum mir mal ne kleine schulung zu geben da ich das nich ganz versteh wie ich das mache.

ich weis zwar das es mit findfirst, findnext usw geht aber wie realiesiere ich das

z.b.

ich lade mir einen ordner eine fileListBox1 und will drei dateien aus diesem ordner in eine andere FileListBox2 kopieren aber nur die Dateien von gestern wäre das für den anfang zu kopliziert????
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 14:42
zunächst einmal benutzt man immer das Dreigespann FindFirst, FindNext und FindClose (oder deren API-Entsprechungen). Die interessanten Daten zu jeder gefundenen Datei befinden sich nach FindFirst und FindNext in dem Record TSearchRec. Schau Dir zu diesem Record mal die Hilfe an, dann wird Dir schon manches klarer.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 14:47
FindFirst heißt ja übersetzt schon FindeErstes
FindNext heißt dann FindeNächstes
und Mit FindClose schließt man das gesuche hab.

Rufst du also FindFirst auf wird die Suche eingeleidet und das Ergebnis wird in dem übergebenen TSearchRec gespeichert.
Gibt FindFirst dir 0 zurück heißt es das mindestens einwas gefunden wurde (die suche also erfoglreich eingeleidet wurde.
Ist dies der Fall sollte man die Suche auch mit FindClose wieder schließen
Delphi-Quellcode:
if (FindFirst(....) = 0) then
begin
  FindClose(...);
end;
FindFirst gibt dir aber wie gesagt nur das erste zurück. Um an die anderen Ergebnisse der Suche zu kommen musst du FindNext aufrufen bis dir FindNext einen Wert ungleich 0 zurück gibt
Delphi-Quellcode:
if (FindFirst(....) = 0) then
begin
  repeat
    //hier kann der Datei-/Ordnername aus der TSearchRec-Struktur ausgelesen werden
  until FindNext(...) <> 0;
  FindClose(...);
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 14:50
ok

FindFirst sucht im Verzeichnis Path nach dem ersten Eintrag, der mit dem angegebenen Dateinamen und den festgelegten Attributen übereinstimmt. Das Ergebnis wird im Parameter F zurückgegeben. Den Feldern dieses Datensatzes können Sie die benötigten Informationen entnehmen. FindFirst gibt im Erfolgsfall 0 zurück, ansonsten einen Fehlercode.

Der Konstantenparameter Path enthält das Verzeichnis und die Dateinamensmaske. Es können auch Platzhalterzeichen verwendet werden. '.\test\*.*' gibt beispielsweise alle Dateien im aktuellen Laufwerk an.

function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; das heist mit der funktion übergebe ich den pfad in dem er die tateien suchen soll und er gibt sie mir dann alle zurück

function FindFirst(und hier der Pfad zum ordner)???? wie gesagt ich habe keine ahnung
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 14:53
Ein paar Beispiele:FindFirst('C:\*.*',faHidden,Rec); Alle versteckten Dateien im Wurzelverzeichnis von C:
FindFirst('C:\Windows\*',faDirectory,Rec); Alle Unterverzeichnisse von C:\Windows

Sind Dir die Attribute egal, dann nimm faAnyFile.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 15:00
ok ich habe jetzt ein neues projekt gemacht in dem habe ich eine DirectoryListBox jetzt will ich mir alle ordner anzeigen lassen im Windows ordner

mach ich dann so

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
Var pfad :string;
begin
 pfad:= FindFirst('C:\Windows\*',faDirectory,Rec);
   DirectoryListBox1:= (pfad);
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 15:06
stop! eine Directorylistbox macht alles eigenständig! Sie füllt sich eigenständig und hat nix mit FindFirst etc. zu tun. Nimm eine normale Listbox. Und schau dir mein Beispiel von oben an.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 15:14
Also muss ich erstmal ein Record vm typ TSearchRect ertsellen und die FileListbox muss ich auch schon auf einen ordner setzen??
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 15:15
Wieso denn jetzt auf einmal eine FileListbox? Nimm eine stinknormale Listbox und schau Dir das Beispiel von marabu aus dem anderen Thread noch einmal an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Findfirst,Findnext schulung

  Alt 23. Jul 2007, 15:16
ok mach ich
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 07:37 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