Autor Beitrag
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 10.02.03 16:37 
Hi,

habe mal ein kleines Tool geproggt, das Dateien kopieren kann: + Geschwindigkeitsanzeige... usw. - beschädigte Teile werden übergangen.

Beispiel: CD hat kleinen Kratzer - Win kann die letzten 10 Minuten eines Videos nicht kopieren. DSFLCOPY kopierts trotzdem! Teile, die nicht mehr gelesen werden können, werden einfach nicht geschrieben. Vorteil: vom Video sind zwar die letzten 10 Minuten voller Fehler - aber der Rest geht.

Das Tool ist 192 KB groß und ist schon etwas älter (~ 1/2 Jahr). Hab gestern noch den letzten "Schliff" gemacht: die "Oberfläche" angepasst.

www.dustsigns.de/cgi...=File%20Copier;lang=


Eure Meinung würde mich interessieren,
So long,
AXMD

PS.: Eigentlich wollte ich das Tool nicht veröffentlichen, weil ich dachte, dass es vielleicht zu simpel sei, aber ein Freund hat mir geraten, ich solle es einfach mal posten...

Moderiert von user profile iconChristian S.: Downloadlink aktualisiert
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.02.03 17:04 
Rechte Maustaste: Ziel speichern unter!

Nicht schlecht. Nur etwas langsam oder?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.02.03 17:07 
AXMD hat folgendes geschrieben:
Win kann die letzten 10 Minuten eines Videos nicht kopieren. DSFLCOPY kopierts trotzdem! Teile, die nicht mehr gelesen werden können, werden einfach nicht geschrieben. Vorteil: vom Video sind zwar die letzten 10 Minuten voller Fehler - aber der Rest geht.

:mrgreen:

Stelle ich mir gerade vor: Da ja Hollywood und Babelsberg immer noch Filme nach dem Schema F drehen, in denen die Auflösung und das große Finale in den letzten 10 Minuten kommt, ist´s natürlich ... äh ... :wink: ...

Sorry, AXMD. Zum Programm habe ich nichts zu sagen; ich hab´s nicht ausprobiert. Aber der oben zitierte Satz ist zu schön. :)
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 10.02.03 17:55 
@LUCKIE: Wieso langsam?

Außerdem: mich würde interessieren, wer schon erflogreich verloren geglaubte Dateien wiederherstellen konnte...

So long,
AXMD
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.02.03 18:10 
Es gab ja früher das Programm VGA-Copy. Das kopierte Disketten auf Disketten gut und schnell. Aber auch zu einen anderen Sache war es gut - zum lesen fast zerstörter Disketten. Im Gegensatz zu dem normalen DOS-Copiervorgang, der nach zwei oder drei Leseversuchen den Vorgang abbrach, konnte man bei VGA Copy einstellen wie oft er den Block lesen sollte. Und manchmal war es genug und man hat die Daten noch rauslesen können.

Vieleicht wäre das auch eine gute Erweiterung für dein Programm. Vieleicht funktioniert es aber bereits so. :)
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 10.02.03 18:12 
@POPOV: nein, es arbeitet (noch) nicht so, aber THX für den Tipp.

AXMD
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Mi 12.02.03 22:23 
Ziemlich gut das Tool. Die Benutzeroberfläche ist ein bißchen umständlich, aber im Notfall tut es seinen Dienst.
Dass das Prog langsam sein soll, kann ich nicht bestätigen. Das Windows-Kopieren dauert, wie nicht anders zu erwarten, ca. genau so lang.

Folgendes: Schreibgeschützte Dateien kann das Tool irgendwie nicht kopieren. Eine Fehlermeldung erscheint "Sourcefile not found or broken".

???

System: Windows 2000 SP3
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 14.02.03 18:17 
Hi,

das Problem ist mir bekannt. Keine Ahnung, wieso mein Tool keine schreibgeschützten Files will. Ich vermute mal, dass das damit zu tun hat, dass es versucht, Dateien mit Assign und Reset zu öffnen.

Kannst du von CD auch nicht kopieren?

AXMD
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Fr 14.02.03 18:42 
Ne, von CD geht es auch nicht -> "Sourcefile not found or broken" kommt.

:cry:
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 14.02.03 18:44 
Sch*****.
Jemand eine Idee, wie man das ändern könnte :cry:

AXMD
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 14.02.03 19:08 
Hi,

öffne die datei einfach als ReadOnly.. :)

ausblenden Quelltext
1:
2:
3:
AssignFile(f,...);
FileMode:=0; // Wichtig!! Bedeutet ReadOnly-Öffnen
Reset(f);


Au'revoir,
Aya

_________________
Aya
I aim for my endless dreams and I know they will come true!
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 14.02.03 19:27 
THX, Aya! Das wird's sein! Kann's leider noch nicht ausprobieren, aber danke dir trotzdem.

AXMD
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 17.02.03 11:56 
Danke vielmals, Aya! Jetzt geht's!
Hab die neue Version jetzt raufgeladen (mit mehreren neuen Features):

-> für all diejenigen, denen der Kopiervorgang zu langsam war: man kann nun eine variable Blockgröße einstellen

-> eine Restzeit-Anzeige und (das war vielleicht kompliziert :wink: )

-> einen Pause-Button.

Meinungen wären mir wichtig,
AXMD
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 17.02.03 12:09 
Wenn ich die Blockgröße ändern möchte und dabei aber auf Abbrechen klicke kommt trotzdem eine Meldung das der Wert erfolgreich gesetzt wurde. Es handelt sich zwar nicht um den eingtippten Wert sondern um den alten Wertn. Allerdings verwirrt ein wenig die Meldung. Beim Abbrechen sollte also meiner Meinung nach keine Meldung kommen!

Gruß
TINO
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Mo 17.02.03 13:03 
nach dem kopieren geht (nicht im Hinweisfenster sondern auf dem hauptfenster) die eslapsed-time weiter, lasse sie nach beendigung des kopierens stehen bleiben
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 17.02.03 15:07 
Gut, werde ich ändern. Was mich eigentlich mehr interessieren würde: wer von euch hat schon Erfolge mit defekten Datenträgern, von denen erfolgreich kopiert werden konnte.
@TINO: Ich hab mich schon immer gefragt, wie man herausfindet, ob "Abbrechen" oder "OK" geklickt wurde, denn das Result ist das Gleiche (Eingabe).

So long,
AXMD
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 17.02.03 15:47 
AXMD hat folgendes geschrieben:
Ich hab mich schon immer gefragt, wie man herausfindet, ob "Abbrechen" oder "OK" geklickt wurde, denn das Result ist das Gleiche (Eingabe).

Du benutzt bestimmt die Funktion InputBox, oder? Benutze besser InputQuery. Schau mal in der Hilfe nach... dort befindet sich auch ein Beispiel!

Gruß
TINO
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 17.02.03 15:52 
Werd ich mal probieren. THX vielmals.

AXMD
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 19.02.03 08:53 
Hi,

habe nun das Programm teilweise etwas abgeändert: eskopiert schneller aufgrund einer optimierten Anzeige-Routine. Außerdem ist das Inputbox-"Problem" gelöst.
Bitte "#0 filling" nicht verwenden - das funktioniert noch nicht. Mein Problem: ich versuche, über BlockWrite die Bytes, die in der Quelldatei fehlerhaft waren, durch #0 zu ersetzen. Allerdings liefert IOResult wie auch GetLastError: 87. Mit SysErrorMessage als Text: "Der Parameter stimmt nicht". Das ist mir allerdings schleierhaft, denn der selbe Quelltext läuft alleine ohne Probleme. Ich habe schon versucht, Filemode zu ändern - hat aber auch nichts gebracht.
Könnte mir jemand helfen? Vielleicht noch ein paar Daten: ich verwende ein Array of Char, das mit SetLength auf die Größe (Puffergröße - korrekt gelesene Bytes) gesetzt wird. Anschließend werden die Einträge mit #0 gefüllt.
Wie ich beim Debuggen bereits gesehen habe, werden alle Variablen korrekt übergeben - trotzdem ist das Resultat der Schreibaktion (vierter, optionaler Parameter von BlockRead) 0. Die BlockWrite-Prozedur:

ausblenden Quelltext
1:
BlockWrite(f, buffer, Length(buffer), erfolgreichgeschrieben)					


buffer ist wie erwähnt ein Array of Char.
Who can help?

AXMD
AXMD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Do 20.02.03 08:46 
Hi,

habe das Problem gestern noch gelöst. Der Fehler war folgender: das Array of Char funktioniert bei Binärdateien nicht. Wenn man es durch einen Pointer ersetzt, funktioniert das Ganze (habe ich zufällig herausgefunden).
Die Performance wurde noch einmal optimiert und auch das #0 filling ist jetzt vollständig implementiert und funktionsfähig. Während des Kopiervorgangs kann es sogar abgeschalten und wieder eingeschalten bzw. dessen Status abgefragt werden.

Dann zieht mal fleißig :wink:

AXMD