Einzelnen Beitrag anzeigen

Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Synchronisation von Ordnern

  Alt 24. Jan 2007, 22:15
Du solltest nicht auf "file = faDirectory" prüfen. Wenn dort noch andere Attribute gesetzt sind, ergibt dieser Vergleich False.

Besser ist es, auf bestimmte Attribute mit AND zu prüfen.

Delphi-Quellcode:
  FindResult := FindFirst(Dir + '*.szf', faAnyFile, SearchRec);
  while FindResult = 0 do
  begin
    [..]
    Attr := '';
    if (SearchRec.Attr and SysUtils.faReadOnly) <> 0 then // auch: ) = faReadOnly
      Attr := 'R';
    if (SearchRec.Attr and faHidden) <> 0 then // auch: ) = faHidden
      Attr := Attr + 'H';
    if (SearchRec.Attr and faSysFile) <> 0 then // auch: ) = faSysFile
      Attr := Attr + 'S';
    if (SearchRec.Attr and faArchive) <> 0 then // auch: ) = faArchive
      Attr := Attr + 'A';
    ListItem.SubItems.Add(Attr);

    FindResult := FindNext(SearchRec);
  end;
  FindClose(SearchRec);
Code:
Attribut, z.B. 11001101
AND fa... z.B. 01001000
Ergebnis:     01001000
mfg
Michael
  Mit Zitat antworten Zitat