AGB  ·  Datenschutz  ·  Impressum  







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

Synchronisation von Ordnern

Ein Thema von Telefonkabel · begonnen am 24. Jan 2007 · letzter Beitrag vom 25. Jan 2007
Antwort Antwort
Telefonkabel

Registriert seit: 15. Jan 2007
94 Beiträge
 
#1

Synchronisation von Ordnern

  Alt 24. Jan 2007, 20:10
Hej, Delphianer!
Ein neuer Tag ist angebrochen und schon hab ich wieder eine neue Frage.
Diesmal handelt es sich um ein Ordnersynchonisationsprogramm.
Es läuft auch alles soweit, nur habe ich ein Problemchen. Und zwar kommt es vor, dass Ordner das Attribut "Archiv" haben. Folglich erkennt die Findfirst Funktion diesen Ordner nicht als Ordner an --> Der Ordner wird nicht in dem Synchronisationsverzeichnis angelegt, da es ja durch diese Eigenschaft kein richtiger Ordner mehr ist.
Meine Frage ist nun, wie ich dem Programm sagen kann, dass es sich dabei doch um einen Ordner und kein Archiv handelt.
(Eigenschaften der Ordner von Hand ändern ist keine Lösung)

MfG
Telekab.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Synchronisation von Ordnern

  Alt 24. Jan 2007, 21:03
Abgesehen davon, dass das Attribut Archiv obsolet ist, erkennt er Ordner, die mit Archive gekennzeichnet sind bei mir trotzdem als Verzeichnis, solange sie das Directoryattribut haben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Telefonkabel

Registriert seit: 15. Jan 2007
94 Beiträge
 
#3

Re: Synchronisation von Ordnern

  Alt 24. Jan 2007, 21:48
Nun, in gewisser Weise erkennt er sie ja auch, aber irgendwie erstellt er sie nicht.
Ich habe folgendes gemacht.
Zuerst sucht er nach einem Ordner über findfirst.
Dann überprüft er in einer If-Clause, ob das gefundene Etwas ein Ordner ist (also file = fadirectory) und wenn es eines ist, so soll er es über createdirectory erstellen. Und eben Letzteres tut er nicht bei einem Ordner mit dem Archiv-Attribut.
Wo liegt der Fehler?


MfG
Telekab.
  Mit Zitat antworten Zitat
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
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Synchronisation von Ordnern

  Alt 25. Jan 2007, 13:24
Hi

@sirius

In welcher Quelle steht denn das?
Zitat:
Abgesehen davon, dass das Attribut Archiv obsolet ist...
Danke
  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 17:53 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