AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Verzeichnissynchronisation: Datum oder CRC als Indikator
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichnissynchronisation: Datum oder CRC als Indikator

Ein Thema von HeikoAdams · begonnen am 16. Mär 2011 · letzter Beitrag vom 17. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 14:30
Ich würde erst die Dateinamen prüfen (neu, gelöscht), dann bei den gleichen Dateien die Größe und bei gleicher Größe erst den CRC-Wert bilden und vergleichen.
Ich würde zuerst prüfen, ob die Datei in Verzeichnis B existiert. Wenn ja, würde ich das Datum vergleichen und wenn das Datum identisch ist, die CRC prüfen.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 14:32
Auf das Datum würde ich mich bei sowas eher weniger verlassen, denn man kann ja eine Datei öffnen und speichern, ohne was daran geändert zu haben. Daher ist dann das Datum aktueller und evtl. gibt es hier dann Probleme.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 14:36
Datum ja auch die zusätzliche Prüfung der CRC: Wenn das Datum unterschiedlich ist, wird synchronisiert. Ist das Datum unterschiedlich, wird die CRC geprüft und wenn die sich unterscheidet, ist die Datei geändert und wird synchronisiert.

Und wenn eine Datei gespeichert wurde, ohne etwas zu verändern, gehen ja auch keine Änderungen bei der Synchronisation verloren Wobei sich mir nicht ganz der Sinn erschließt, warum man eine Datei öffnen und speichern sollte, ohne etwas zu ändern
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 14:46
Jo, das geht ... obwohl ich die Größe auch noch mit reinnehmen würde.

Soviele (schnelle) Merkmale wie geht prüfen um sich möglichst vor der CRC-Überprüfung zu drücken
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#15

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 15:19
Soll heißen:
Datum prüfen, wenn gleich, die Größe vergleichen und wenn die auch identisch ist, die CRC vergleichen
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?

Geändert von HeikoAdams (16. Mär 2011 um 15:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 16. Mär 2011, 18:17
Den Datumsvergleich würde ich mir schenken, denn erstens gibt es touch und zweitens ein heilloses Durcheinander bei der Beachtung der Zeitzonen und der Anwendung der Sommer/Winterzeit.

Ist die Größe der Datei unterschiedlich, dann sollte auch der Inhalt unterschiedlich sein.
(und was wenn die eine Unicode-Text und die andere ANSI-Text enthält?)

Man könnte auch z.B. die ersten 2000 Byte vergleichen, sind die unterschiedlich sind auch die Dateien unterschiedlich.

Es kommt ganz darauf an ob Du auf Gleichheit oder Ungleichheit prüfen willst.
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#17

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 17. Mär 2011, 08:35
Den Datumsvergleich würde ich mir schenken, denn erstens gibt es touch und zweitens ein heilloses Durcheinander bei der Beachtung der Zeitzonen und der Anwendung der Sommer/Winterzeit.
Das Risiko mit den Zeitzonen und Touch gehe ich ein, da die Nutzer der Synchronisation garantiert weder mit touch arbeiten noch in verschiedenen Zeitzonen unterwegs sind Abgesehen davon sollte das Problem mit den Zeitzonen durch FileTimeToLocalFileTime elegant umgangen werden

Ist die Größe der Datei unterschiedlich, dann sollte auch der Inhalt unterschiedlich sein.
Das sehe ich genau so

(und was wenn die eine Unicode-Text und die andere ANSI-Text enthält?)
Das halte ich für eher unwahrscheinlich, da die Datei in Verzeichnis B ja eine (Sicherungs)Kopie der Datei in Verzeichnis A ist.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?

Geändert von HeikoAdams (17. Mär 2011 um 08:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: Verzeichnissynchronisation: Datum oder CRC als Indikator

  Alt 17. Mär 2011, 09:01
Den Datumsvergleich würde ich mir schenken, denn erstens gibt es touch und zweitens ein heilloses Durcheinander bei der Beachtung der Zeitzonen und der Anwendung der Sommer/Winterzeit.

Ist die Größe der Datei unterschiedlich, dann sollte auch der Inhalt unterschiedlich sein.
(und was wenn die eine Unicode-Text und die andere ANSI-Text enthält?)

Man könnte auch z.B. die ersten 2000 Byte vergleichen, sind die unterschiedlich sind auch die Dateien unterschiedlich.

Es kommt ganz darauf an ob Du auf Gleichheit oder Ungleichheit prüfen willst.
Gruß
K-H
Das ist doch alles völlig egal ... denn schlussendlich soll mit der Überprüfung ja nur das Bilden der CRC-Werte möglichst verhindert werden.
Nur wenn alle äußeren Merkmale gleich sind (die Dateien augenscheinlich gleich sind), dann wird per CRC die Gleichheit geprüft.

hauptprogramm-1.jpg
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09: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