FindFirst

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

FindFirst

Beitrag von monta »

Code: Alles auswählen

if FindFirst('Verzeichnispfad\*', faAnyFile, SR) = 0 then
    begin
      try
        repeat
          if not SR.Attr = faDirectory then;
          ShowMessage(sr.Name);
//          FileListe.Add(SR.Name);
        until FindNext(SR) <> 0;
Wozu sind eigentlich die Attribute da?

Sollte nicht spätestens die Abfrage if not SR.Attr = faDirectory ausschließen, das sich beispielsweise das Verzeichnis selbst anzeigt?
Als Rückgabe erscheint neben den Dateien so nämlich '' , '.' , '..'
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein, denn das Verzeichnis wird noch mehrere Attribute haben
if SR.Attr and faDirectory = faDirectory then

gibt dir zurück ob es ein Verzeichnis ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

:?:

Wenn es ein Verzeichnis ist,müsste doch aber im Searchrect das entsprechende Attribut faDirectory gesetzt sein, also müsste der Vergleich false ergeben und das Verzeichnis dürfte nicht ausgegeben werden.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja da hast du recht... Schau dir mal dieses Beispiel hier an:
http://lazarus-ccr.sourceforge.net/docs ... first.html" onclick="window.open(this.href);return false;
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wenn es ein Verzeichnis ist,müsste doch aber im Searchrect das entsprechende Attribut faDirectory gesetzt sein, also müsste der Vergleich false ergeben und das Verzeichnis dürfte nicht ausgegeben werden.
SR.Attr = faDirectory

dieser Ausdruck gibt nur True, wenn die date nur ein Attribut hat und dieses faDirectory ist.

SR.Attr and faDirectory = faDirectory

dieser Ausdruck gibt True zurück ernn das Attribut faDirectory in den Attributen vorkommt...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

jaja die boolsche Logik, jetzt ists mir klar
Johannes

Antworten