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 3 von 11     123 45     Letzte »    
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Re: Pegasus: Einfaches backup Programm

  Alt 2. Jun 2005, 12:14
Danke für das feedback. *unter den schreibtisch kriecht, um sein Pflege kaninchen Gipsy zu knuddeln*
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#2

Re: Pegasus: Einfaches backup Programm

  Alt 2. Jun 2005, 13:45
Hi,

ich finde das Programm grundsätzlich von der Idee her sehr nützlich, werde es aber aus Zeitmangel erst nachher testen, gleich mit einem "Ernstfall", nämlich geänderten Quelltext vom Laptop auf meinen PC übertragen. Mir ist im Screenshot aufgefallen, dass es anscheinend keine Möglichkeit gibt, sich die Unterschiede in den geänderten Dateien anzeigen zu lassen. Das fände ich noch eine super Funktion

cu
  Mit Zitat antworten Zitat
Seven

Registriert seit: 4. Dez 2003
44 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 09:53
lässt sich die Geschwindigkeit noch optimieren? *duck*
In einem Ordner mir 2000 Dateien ist das Prg ganz schön beschäftigt. ca. 60 Sek

*offtopic an*Zur Zeit benutze ich rsync welches im Cygwin mit dabei ist. Dieses Prg läuft wesentlich schneller. Lässt sich aber halt nur aus der Konsole starten. Was aber nicht schlimm ist. Eine Batch-Datei erstelllen und fertig.*offtopic aus*
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 14:24
Hi,

Deine beiden Datei-Such Prozeduren sind verbesserungswürdig.
Als erstes müsstest Du die Delphi-Version spezifischen Hinweise beachten und ggf. Code, der nur für Delphi 4 und niedriger vorgesehen ist, entfernen.

Auch ähnlich sich die beiden Prozeduren, sodass man sie auf folgende Weise zusammenfassen könnte.

Du gestaltet ein Event, z.B.
Delphi-Quellcode:
type
  TOnFindFile = procedure(const FileName: string) of object;
Deine Suchprozedur änderst Du zu so einer:
Delphi-Quellcode:
procedure FindFiles(RootFolder: string; OnFindFile: TOnFileFind; Mask: string = '*.*'; Recurse:
  Boolean = True);
var
  SR: TSearchRec;
  s1, s: string;
begin
  Application.ProcessMessages;
  if bCanceled then Exit;
  if RootFolder = 'then
    Exit;

  // Implementation ab Delphi 5
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            // der Verzeichnisname steht in SR.Name
            // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            // RootFolder + SR.Name
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindFiles(RootFolder + SR.Name, Mask, Recurse);
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
  try
    repeat
      if (SR.Attr and faDirectory <> faDirectory) and (Assigned(OnFileFind)) then
          OnFileFind(RootFolder + SR.Name);
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;
Und in die beiden OnFileFind Events, die Du implementieren musst, schreibst Du einfach den Code rein, den Du bisher seperat in den beiden Prozeduren verteilt hattest. Ggf. musst Du noch die Paramterliste ergänzen, falls Du im Event noch andere / weitere Informationen brauchst.

Ich hoffe, dass ich Dir damit einen kleinen Ansatzpunkt zur Verbesserung geben konnte

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 14:45
Das ändert nichts an der Tatsache, dass ich so wohl das Source Verzeichnis durchsuchen muss, als auch das Backup Verzeichnis oder habe ich da jetzt einen Denkfehler?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 14:55
Zitat von Luckie:
Das ändert nichts an der Tatsache, dass ich so wohl das Source Verzeichnis durchsuchen muss, als auch das Backup Verzeichnis oder habe ich da jetzt einen Denkfehler?
Du musst natürlich beide Ordner durchsuchen, brauchst aber den Großteil des Codes nicht doppelt zu schreiben, sondern nur den relevanten Teil.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 14:56
OK, das wär eine Optimierumng des Codes. Bringt aber nichts an Performance.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#8

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 17:43
Hi,

wie versprochen hab ich nun das Programm getestet, als Quelle diente eine Netzwerkfreigabe und als Ziel mein lokaler Ordner. Das funktionierte soweit problemlos. Wie von anderen schon erwähnt braucht das Programm aber recht lange bei großen Ordnern. Vielleicht könnte man vor dem eigentlichen Vergleichen eine Prüfsumme wie CRC32 erstellen, da muss nicht so viel von der Datei gelesen werden AFAIR, das spart Bandbreite (beim Netzwerkvergleichen)/bringt Performance. Wenn du an der Idee gefallen findest, kann ich dir gerne den nötigen Code zum CRC32-berechnen zukommen lassen.

Kritik:
- Das Programm "flasht" in der Taskleiste, auch wenn es im Vordergrund ist (also das aktive Fenster). Sollte so ja nicht sein, denke ich?

Vorschläge:
- Wenn sich Dateien ändern würde ich ein anderes Icon nutzen, als das grüne Plus, was ja auch für komplett neue Dateien verwendet wird.
- Dateien vom Vergleichen ausschließen wäre nett (z.B. *.dcu )
- Automatisch abgleichen und mehrere Ordner zum abgleichen angeben, alternativ halt Parametersupport und 'ne Batch-Datei, ist aber nicht so schön.

Kommt noch eine Hilfedatei zu dem Programm?

cu
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 17:50
Zitat von sECuRE:
Hi,

wie versprochen hab ich nun das Programm getestet, als Quelle diente eine Netzwerkfreigabe und als Ziel mein lokaler Ordner. Das funktionierte soweit problemlos. Wie von anderen schon erwähnt braucht das Programm aber recht lange bei großen Ordnern. Vielleicht könnte man vor dem eigentlichen Vergleichen eine Prüfsumme wie CRC32 erstellen, da muss nicht so viel von der Datei gelesen werden AFAIR, das spart Bandbreite (beim Netzwerkvergleichen)/bringt Performance. Wenn du an der Idee gefallen findest, kann ich dir gerne den nötigen Code zum CRC32-berechnen zukommen lassen.
Ich biolde Hashes über die Dateien um die geänderten zu ermitteln. dabei benutze ich einen optimierten MD5 Hash von Assarbad.

Zitat:
Kritik:
- Das Programm "flasht" in der Taskleiste, auch wenn es im Vordergrund ist (also das aktive Fenster). Sollte so ja nicht sein, denke ich?
Doch soll so sein. das tut es, wenn es mit der Dateiliste oder mit dem Abgleichen fertig ist. Wenn ich es benutze, dann arbeite ich meist in einem anderem fenster weiter und würde dann auch keine Messagebox-Benachrichtigung von dem Programm bemerken. das war der Hintergedanke dabei.

Zitat:
Vorschläge:
- Wenn sich Dateien ändern würde ich ein anderes Icon nutzen, als das grüne Plus, was ja auch für komplett neue Dateien verwendet wird.
Vorschlag?
Zitat:
- Dateien vom Vergleichen ausschließen wäre nett (z.B. *.dcu )
... und eventuell ganze Ordner oder so. Hab eich auch schon drangedacht, war aber bisher zu faul mir über eine möglioche Lösung Gedanken zu machen.
Zitat:
- Automatisch abgleichen und mehrere Ordner zum abgleichen angeben, alternativ halt Parametersupport und 'ne Batch-Datei, ist aber nicht so schön.
Ich wollte "Jobs" unterstützen: Man speichert einmal Quelle und Ziel unter einem Job-Namen ab und dieser Job kann dann wieder geladen werden oder so.
Zitat:
Kommt noch eine Hilfedatei zu dem Programm?
Langsam, wir sind erst beim Testen, ob alle Dateien korrekt erkannt werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#10

Re: Pegasus: Einfaches backup Programm

  Alt 3. Jun 2005, 18:42
Hi,

nunja, das Flashen sollte aber nur dann eintreten, wenn das Programm nicht im vordergrund ist. Also if (not Application.Active) then . Die Sache mit den Jobs hört sich gut an. Der Vorschlag war, ein anderes Icon zu benutzen um den Unterschied zu kennzeichnen. War das unklar formuliert? Finde es eigentlich verständlich .

cu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 11     123 45     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 06:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz