AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Pegasus: Luckies persönliches Synchronisationstool
Thema durchsuchen
Ansicht
Themen-Optionen

Pegasus: Luckies persönliches Synchronisationstool

Ein Thema von Luckie · begonnen am 28. Feb 2005 · letzter Beitrag vom 8. Jan 2009
Antwort Antwort
Seite 8 von 11   « Erste     678 910     Letzte »    
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Und zwar geht es darum, wenn man ein transportables Speichermedium benutzt, möchte man das eventuell mit einem Verzeichnis auf der Festplatte synchronisieren. Jetzt könnte man es sich einfach machen und einfach das entsprechende Verzeichnis auf dem USB Stick löschen und das von der Festplatte auf den USB Stick kopieren. Nun ist das natürlcih nicht sehr elegant und für den USB Stick nicht sehr schön, da solche Speichermedien nur begrenzt beschrieben werden können. Lese- und Schreibzugriffe sollten also auf ein Mindestmaß reduziert werden.

Hier kommt mein Programm ins Spiel, das mag es zwar schon geben, aber was soll's. Mein Programm stellt jetzt also zwei Dateilisten zusammen. Die erste Liste beinhaltet die Dateien, die kopiert werden müssen, weil sie im Zielverzeichnis nicht existieren oder weil sie geändert wurden. Und eine Dateiliste mit zu löschenden Dateien, die im Quellverzeichnis nicht mehr existieren. Ergebnis soll sein, dass die Verzeichnisse auf der Festplatte und auf dem USB Stick später identisch sind.

Das Programm befindet sich im Anhang. Bedinung und Ergebnis sollten selbst erklärend sein. "d:\Dokumente" ist bei mir zum Beispiel das Verzeichnis in dem ich arbeite und "I:\eigene Dateien\2005-01-27\Dokumente" wäre mein Backupverzeichnis mit dem ich es synchronisieren will. Am Ende sollen dann beide Ordner "Dokumente" identisch sein.

Version: 0.1.0.1 vom 2005-06-02@0:50
Erste funktionstüchtige Version. Bitte mal testen, ob irgendwelche schwerwiegenden Macken auftreten.

Version: 0.1.0.2 vom 2005-06-02@12:00
Selber einen Bug gefunden.

Version: 1.0.0.1 vom 2005-06-04@00:58
Langsam wird es brauchbar.
Neues Feature: Jobs. Man kann jetzt Abgleiche von Verzeichnissen abspeichern, so das sman nicht immer die passendne Ordner manuell auswählen muss.

Version: 1.2.0.0 vom 2005-06-11@15:10
Multithreading implementiert
TPegasus-Klasse mit Events ausgestattet
Anzeigen der aktuellen Dateinamen in der Statuszeile

Version: 1.3.0.0 vom 2005-06-13@13:16
Nur geänderte Dateien haben jetzt ein orangenes/braunes ( ) Plus

Version: 1.5.0.0 vom 2006-06-24
Skiplist implementiert. Gibt es in der Ini-Datei eine Sektion "SkipList", werden die Ordner und Unterordner in dieser Sektion beim Abgleich ignoriert:
Code:
[Skiplist]
0=D:\Homepage\luckie-online\forum
Jetzt auch mit Sourcecode im Archiv.
Miniaturansicht angehängter Grafiken
pegasus_570.png  
Angehängte Dateien
Dateityp: zip pegasus_117.zip (291,2 KB, 390x aufgerufen)
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#71
  Alt 5. Jul 2006, 09:05
Zitat von CG2003:
Also bei mir bleibt er auch nach Neustart von "Pegasus" immer bei dieser Word-Datei hängen.
Du hast nicht verstanden, was ich versucht habe zu erklären. Nimm die Datei mal aus dem Ordner raus und mach dann einen neuen Suchlauf. Dann wird er wahrscheinlich bei einer anderen Datei hängenbleiben. Dann machst dum al den ganzen Ordner leer und wenn er dann durchläuft, kopierst du die Dateien zurück und versuchst es noch mal.
Michael
  Mit Zitat antworten Zitat
CG2003

 
Delphi 2009 Professional
 
#72
  Alt 5. Jul 2006, 09:16
Merkwürdig, eben lief "Pegasus" auch ohne Löschen etc. durch.
Nach einem weiteren Testlauf wiederum nicht.

Habe dann die Datei gelöscht -> "Pegasus" blieb bei der nächsten hängen
Ordner leer gemacht -> "Pegasus" nix gefunden
Dateien wieder reinkopiert -> "Pegasus" lief durch

Irgendwie schon komisch.
Sebastian M.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#73
  Alt 5. Jul 2006, 09:21
Ja genau: "komisch". Und jetzt debug so was mal.
Michael
  Mit Zitat antworten Zitat
CG2003

 
Delphi 2009 Professional
 
#74
  Alt 5. Jul 2006, 09:37
Zitat von Luckie:
Ja genau: "komisch". Und jetzt debug so was mal.
OK, hast Recht.
Aber (meiner objektiven Meinung nach) liegt der Verdacht nahe, das es mit dem erstellen der MD5-Hashes zusammenhängt.
Sebastian M.
  Mit Zitat antworten Zitat
NecroWurst
 
#75
  Alt 7. Jul 2006, 17:51
Hi!

Erstmal vorweg: Ein super Tool, ich habe es schon häufiger verwendet, um mein Adressbuch oder sonstige Sachen auf meinen Stick zu sichern, super Handhabung und arbeitet an sich ganz gut!

Nur habe ich da noch so eine Kleinigkeit entdeckt:
- Zum ersten: Wie bereits gesagt, die AV, wenn man in der Liste nichts ausgewählt hat, oder einfach einen Doppelklich auf die leere Fläche der Liste macht und
- das Tool hängt sich bei mir zwar nicht bei manchen Dateien auf, schmiert aber ab und an schon mal einfach ab! Manchmal nach dem Scannen (Dialog 'Fertig' wird eingeblendet) und manchmal schon beim Starten des Scann-Vorgangs.
Meldung ist immer 'Pegasus hat einen Fehler festgestellt und muss beendet werden'.

Ansonsten - wie gesagt - ThumbsUp!!
  Mit Zitat antworten Zitat
nkaaa

 
Delphi 2005 Personal
 
#76
  Alt 2. Aug 2006, 14:59
hi,
super Tool! Kann ich gut gebrauchen, um meinen Delphi Ordner zu Hause mit den
in der Schule programmierten Sachen auf meinem USB Stick gleich zu halten.

Das Problem, dass das Programm an manchen Dateien hängen bleibt habe ich auch. Bei
mir hilft einfach abzuwarten. Ist mir bis jetzt nur bei "großen" Dateien passiert
die 500kb und mehr hatten. Hierbei braucht das Programm dann manchmal ne halbe Minute und
länger um zur nächsten Datei überzuspringen.

Für das 2. Problem siehe Anhang. Trat auf, nachdem die Dateiliste gerade erstellt war.

Solange aber beim eigentlichen Kopiervorgang nichts schief geht,
kann man das Tool aber gut benutzen

nkaaa
Miniaturansicht angehängter Grafiken
fehler_731.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#77
  Alt 2. Aug 2006, 16:30
Genau dazu habe ich das geschrieben und benutze ich es auch dafür.

Das was du als "hängen bleiben" bezeichnest, ist kein Hängen. Er braucht eben etwas, um den MD5 Hash zu berechnen. Wirklich hängen tut er, wenn nach zwei Minuten immer noch nichts passiert ist.

Ja, die Exception hat mit den Thread(s) zu tun, wenn er die aktuelle Datei in der Statusbar ausgibt. Ich habe das zwar synchronisiert, aber irgendwie scheint das nicht immer zu klappen. Und da das nur sporadisch auftaucht, kann man das auch so schlecht debuggen.
Michael
  Mit Zitat antworten Zitat
Mussfragen

 
Delphi 6 Professional
 
#78
  Alt 3. Aug 2006, 09:44
Ich habe das Programm getestet:

1. Der Grundeindruck ist gut, ich habe ähnlich auch bisher mit Batch-Dateien gearbeitet
und könnte mir vorstellen hiermit zu arbeiten.

2. Leider ist es schwer zu beurteilen wenn noch alles im Fluss ist.

a) Auf dem Zielverzeichnis werden Ordner und Unterordner angelegt und Dateien kopiert.
Aber der erste und der letzte Unterordner (Aphabetisch) werden nicht angelegt. Der letzte
Ordner ist leer evtl. ist das der Grund.
b) Fehlen Dateien in einem Zielordner wurde das erkannt, die Dateien kopiert.

3. Mir erschliesst es sich noch nicht ganz (Selbsterklärend ?) wie die Haken Dateien- bzw. Ordner löschen
wirken sollen. Ist es nicht so daß die Zielordner komplett entsprechend der Quelle angepasst werden
sollten?

4. Aus den Vorbeiträgen entnehme ich dass die Prüfung auf Gleichheit über das Datum erfolgt. Das ist allerdings
nicht unproblematisch. Aus eigener Erfahrung darf ich sagen dass bei mir schon grosse Probleme dadurch
entstanden wären, hätte ich nicht vorher noch eine komplette Datensicherung gemacht. Bei einem Progamm das ich
einsetze wird ein inhaltlicher Vergleich durchgeführt. Das geht relativ schnell weil die Prüfung nach dem ersten
ungleichen Byte abgebrochen werden kann. Man kann evtl. auf Byteanzahl prüfen und bei Ungleichheit dann einen
inhaltlichen Vergleich durchführen.

Ergänzung zu 2a) Mein Fehler, der erste Ordner hat (bei mir) zwei Unterordner beide leer, deshalb das gleiche wie
beim letzten Ordner. Leere Ordner bzw. Unterordner werden nicht angelegt (Mehrmals getestet). Das ist unabhängig vom
Ziellaufwerk.

Ergänzung zu 4. Statt Datum sollte da Datum und Uhrzeit stehen. Gelesen habe ich in einem Beitrag "... unterschied von einer Sekunde ". Welche Art von Vergleich stattfindet weiss ich aber trotzdem nicht. Zu dem im o.g. Punkt 3 gemachten
Hinweis habe ich noch keine Erklärung, vieleicht ist es aber ganz einfach und ich verstehe es (leider) nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Interceptor
Interceptor

 
Delphi 6 Professional
 
#79
  Alt 3. Aug 2006, 10:10
--- falscher Thread ---
David
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#80
  Alt 3. Aug 2006, 10:16
Vorweg: Die Checkboxen im Listview haben noch keinerlei Bedeutung bzw. Funktion.

Zitat von Mussfragen:
a) Auf dem Zielverzeichnis werden Ordner und Unterordner angelegt und Dateien kopiert.
Aber der erste und der letzte Unterordner (Aphabetisch) werden nicht angelegt. Der letzte
Ordner ist leer evtl. ist das der Grund.
Das konnte ich bisher nicht nachvollziehen. Normalereise sollte er alle Ordner anlegen.

Zitat:
4. Aus den Vorbeiträgen entnehme ich dass die Prüfung auf Gleichheit über das Datum erfolgt.
Welchen Beiträgen hast du das entnommen? Gerade in meinem letzten Beitrag habe ich erklärt, dass ich einen MD5 Hash benutze.
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 11   « Erste     678 910     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 21:19 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