Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   VPHD - Virtual private hard-disc (https://www.delphipraxis.net/165508-vphd-virtual-private-hard-disc.html)

olee 5. Jan 2012 15:44

AW: VPHD - Virtual private hard-disc
 
Zitat:

Zitat von Luckie (Beitrag 1144375)
Muss ich mir mal genauer angucken, ob das reicht. Weil es wäre gut, wenn man noch Dateien (auch mit Wildcards) und Verzeichnisse ausschließen könnte.

Ich habe bisher ja nur die elementarsten Funktionen in die Kommandozeile eingebaut.
Es sollen später viel mehr Optionen zur Verfügung stehen.
Ich denke dabei auch an Funktionen, die verschlüsselten Daten mit incrementellen Backups sichern zu können etc.


Zitat:

Zitat von Luckie (Beitrag 1144375)
Und muss man, wenn man ein Verzeichnis hinzufügt auch einen Pfad im Archiv angeben?

Ein Pfad im Archiv muss ja immer angegeben werden, damit VPHD weiß, wohin es den Ordner packen soll.
Wenn der Ordner ins Root-Verzeichnis gepackt werden soll, so muss nur ein "\" als Parameter angegeben werden (steht auch in der /help)

Luckie 5. Jan 2012 18:48

AW: VPHD - Virtual private hard-disc
 
Na ja, das Programm könnte ja so schlau sein, dass wenn man keinen Pfad angibt, es den Pfad nimmt von dem Verzeichnis, welches man hinzufügen will.

olee 5. Jan 2012 18:51

AW: VPHD - Virtual private hard-disc
 
Ich glaube du verstehst da etwas falsch.

Wenn man beispielsweise folgendes ausführt:
Code:
vphd_console /edit test.vphd /add "C:\MyTestDirectory" "\"
wird im Archiv unter dem Root-Verzeichnis das Verzeichnis MyTestDirectory eingefügt.
Der Name des Archives wird verwendet.
Was gefragt ist, ist nicht der Name, unter dem das Verzeichnis hinzugefügt werden soll, sondern der des Parent-Verzeichnisses im Archiv!

Code:
vphd_console /edit test.vphd /add "C:\MyTestDirectory" "MyRootSubDir\"
Dieser Befehl dagegen würde das gleiche Verzeichnis als ein Unterverzeichnis von dem neuen (bzw. evt. schon existierenden) Ordner namens "MyRootSubDir" hinzufügen.

Luckie 5. Jan 2012 19:00

AW: VPHD - Virtual private hard-disc
 
Ach so. OK, dann ist das in Ordnung.

olee 5. Jan 2012 19:03

AW: VPHD - Virtual private hard-disc
 
Momentan arbeite ich an einer Statistikfunktion für das Archiv, welche unter anderem entscheiden soll, ob eine Defragmentierung nötig ist oder nicht.
Hat vllt. jemand eine Idee, wann man eine Defragmentierung durchführen sollte?
Zur Verfügung stehen folgende Daten:
Delphi-Quellcode:
  TVphdStats = record
    FragmentedFiles    : Integer;  
    FragmentedChunks   : Integer;
    FragmentedFilesSize : Int64;
    TotalFiles         : Integer;
    TotalChunks        : Integer;
    TotalFilesSize     : Int64;
    FreeSpace          : Int64;
    HeaderSize         : Integer;
    GapCount           : Integer;
    AvgGapSize         : Int64;
    LargestGap         : Int64;
    SmallestGap        : Int64;
  end;
MFG
Björn

olee 5. Jan 2012 20:41

AW: VPHD - Virtual private hard-disc
 
Ich habe eine neue Version mit folgenden Verbesserungen hochgeladen:
  • Erweiterte Funktionalität des Konsolentools
  • Die Defragmentierung wird jetzt nur noch nach der Zustimmung des Benutzers durchgeführt (siehe unten)
  • Möglichkeit zum Anzeigen einer Statistik über das Archiv

Wenn man nun ein geöffnetes Archiv schließt, welches größere Lücken enthält oder stark fragmentiert ist, fragt das Programm, ob es das Archiv defragmentieren und optimieren soll, anstatt wie bisher jedes mal.
Vorerst verwende ich dabei folgende Kontrolle:
Delphi-Quellcode:
function TVPHD.RecommendDefrag: Boolean;
var
  stats : TVphdStats;
begin
  GetStatistic(stats);
  with stats do
    Result :=
      ((FreeSpace / TotalSize > 0.05) and (GapCount > 5)) or
      (FragmentedFiles / TotalFiles > 0.05);
end;
--> Defragmentiere wenn (Freier-Speicher im Archiv > 5%) oder (Anteil an fragmentierten Dateien > 5%)

Denkt ihr, dass ist so gerechtfertigt oder würdet ihr andere Bedingungen bevorzugen?

Luckie 5. Jan 2012 21:10

AW: VPHD - Virtual private hard-disc
 
Kann man die Defragmentierung auch manuell auslösen?

doctor-x 5. Jan 2012 21:56

AW: VPHD - Virtual private hard-disc
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

absolut ein tolles teil! Danke :-D

Anmerkungen / Verbesserungsvorschläge

1. Wenn ein falsches Passwort eingegeben wurde, würde ich es vorziehen das sich nicht ein leeres Container Fenster öffnet, sonder nach der Meldung "Falsches Passwort" die möglichkeit besteht dieses erneut einzugeben oder man die Datei erneut öffnen muss um es erneut zu versuchen.

2. Es wäre meiner bescheidenen meinung nach angenemer wenn sich das fenster in der mitte des Bildschirms öffnet.

3. Ich erhalte die Fehlermelddung im Anhang, wenn ich ein neues Archiv anlege (auch mit Admin Rechten). Dieses wird dann aber offenbar fehlerfrei angelegt und kann verwendet werden.

4. Die Defragmentierung / Optimirung wurde bei mir nicht immer (beim löschen von ca. 90% der Daten) beim schließen des Programms vorgeschlagen. Manuell geht es aber einwandfrei. Aber das ist wohl noch in arbeit :wink:

(System: Win 7 Pro 64)

Nochmal Danke :-D

olee 5. Jan 2012 22:07

AW: VPHD - Virtual private hard-disc
 
Zitat:

Zitat von doctor-x (Beitrag 1144562)
1. Wenn ein falsches Passwort eingegeben wurde, würde ich es vorziehen das sich nicht ein leeres Container Fenster öffnet, sonder nach der Meldung "Falsches Passwort" die möglichkeit besteht dieses erneut einzugeben oder man die Datei erneut öffnen muss um es erneut zu versuchen.:

Also sollte es sich so verhalten?
Passwort abfragen, bis es richtig ist oder Cancel gedrückt wurde?
Und nachdem Cancel gedrückt wurde, das Programm komplett schließen?


Zitat:

Zitat von doctor-x (Beitrag 1144562)
3. Ich erhalte die Fehlermelddung im Anhang, wenn ich ein neues Archiv anlege (auch mit Admin Rechten). Dieses wird dann aber offenbar fehlerfrei angelegt und kann verwendet werden.:

Tut mir leid, aber diesen Fehler konnte ich nicht reproduzieren.
a) Hast du die neuste Version verwendet?
b) Was GENAU hast du gemacht?


Zitat:

Zitat von doctor-x (Beitrag 1144562)
4. Die Defragmentierung / Optimirung wurde bei mir nicht immer (beim löschen von ca. 90% der Daten) beim schließen des Programms vorgeschlagen. Manuell geht es aber einwandfrei. Aber das ist wohl noch in arbeit :wink:

Wenn der die Defragmentierung nicht ausgelöst hat, wird so wohl auch nicht nötig gewesen sein (was nur beim Löschen von Dateien der Fall ist).
Ein Teil der Optimierung geschieht auch schon während Dateien gelöscht / hinzugefügt werden.
Es kommt drauf an, wo die Dateien liegen, die gelöscht wurden.
Wenn alle davon am Ende des Dateisystems lagen, entstehen überhaupt keine Lücken und damit auch keine Notwendigkeit einer Optimierung.
Am besten lässt sich das im Fragmentierungs-Graphen sehen.

BUG 5. Jan 2012 22:34

AW: VPHD - Virtual private hard-disc
 
Was imho (insbesondere für Backups) ganz interessant wäre (falls dir mal langweilig wird):
  • Die Reduzierung der Archivgröße durch Anlegen von Hardlinks oder noch schlimmer: Wiederverwenden von einzelnen Chunks
  • Anlegen einer Historie, also die Änderungen speichern und Zugriff an spezielle benennbaren Zeitpunkte (z.B. nach einem Backup) ermöglichen.
  • "Sicheres" Splitten in mehrere kleinere Dateien, vllt. so wie bei RAR, wo Teile beschädigt sein können. Natürlich sollte man es auch wieder zusammenfügen können.

Die Verschlüsselung würde ich nicht als Alternative zu TrueCrypt und Co. "bewerben", bei Kryptografie kann man so viele Fehler machen ...

Außerdem wäre es interessant zu wissen, wie sich dein Dateiformat verhält, wenn das Programm während eines Schreibvorgangs abstürzt (muss ja nicht deine Schuld sein). Wird dann die Datei korrumpiert? Cool wäre natürlich, wenn es einen Crash-Save-Modus geben würde, in dem höchsten die zuletzt geschrieben Datei unbrauchbar wird (Anwendungsfall: Backup, das sollte besser nicht korrupiert werden.).


EDIT:
Zitat:

Zitat von olee (Beitrag 1144566)
Tut mir leid, aber diesen Fehler konnte ich nicht reproduzieren.
a) Hast du die neuste Version verwendet?
b) Was GENAU hast du gemacht?

Ich konnte es Reproduzieren:
  1. neuste Version (Setup aus ersten Betrag)
  2. Programm starten, neues Archiv anlegen, im erscheinenden Passwortdialog [OK] drücken ohne ein Passwort anzugeben.
Wenn man ein Archiv geöffnet hat und ein neues anlegen will, dann gibt es auch eine schöne Division durch Null.

EDIT2:
Code:
---------------------------
Öffnen?
---------------------------
Diese Datei ist ein Archiv. Möchten Sie dieses öffnen, oder dem aktuellen Archiv anfügen?
---------------------------
Ja  Nein  
---------------------------
Was soll ich da antworten? Wenn ich [Ja] klicke gibt es eine Division durch Null.




Bei der ganzen "Meckerei" nicht zu vergessen zu erwähnen:
Schön das wieder einmal so ein größeres, durchdachtes Projekt gepostet wird :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 Uhr.
Seite 3 von 6     123 45     Letzte »    

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