AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi date ikopieren mit fortsetzen funktion
Thema durchsuchen
Ansicht
Themen-Optionen

date ikopieren mit fortsetzen funktion

Ein Thema von Van HelF · begonnen am 9. Sep 2006 · letzter Beitrag vom 9. Sep 2006
Antwort Antwort
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#1

date ikopieren mit fortsetzen funktion

  Alt 9. Sep 2006, 16:24
Hallo,

ich möchte ein programm schreiben, mit dem man dateien, kopieren kann (z.b. zu einem anderen pc im netzwerk), jedoch sollte die übertragung pausierbar sein, und die datei dann an der letzten stelle weiter fortgesetzt werden können.
kann mir jemand einen rat geben, wie ich dies verwirklichen kann?
ich habe mich schon mit streams beschäftigt, nur ohne wirklichen erfolg.

MFG
Van HelF
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: date ikopieren mit fortsetzen funktion

  Alt 9. Sep 2006, 16:41
Moin Van HelF,

wenn Du die Daten per TFileStream überträgst, müsstest Du eigentlich jeweils nur nachschauen, wie gross die Zieldatei ist, und vor dem, fortgesetzten, Lesen der Quelldatei die TFileStream.Position auf diesen Wert setzen.
Solange sie nicht komplett ist, bekommt die Zieldatei einen temporären Namen, oder eine entsprechende Endung, und wird am Schluss auf eingentlichen Namen umbenannt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#3

Re: date ikopieren mit fortsetzen funktion

  Alt 9. Sep 2006, 17:05
hab ich versucht, nur leider wird die datei immer wieder erstetz und neu von vorne geschreiben.

Delphi-Quellcode:
procedure kopieren;
var Quelle, Ziel, Zielgr:Tfilestream;
    gr:int64;
begin
  Quelle:=Tfilestream.Create('D:\test.exe',fmOpenRead or fmShareDenyNone);
  Zielgr:=Tfilestream.Create('D:\test2.exe',fmOpenRead or fmShareDenyNone);
  gr:=zielgr.Size;
  zielgr.Free;
  Ziel:=Tfilestream.Create('D:\test2.exe',fmCreate or fmShareDenyWrite);
  quelle.position:=gr;
  try
    Ziel.CopyFrom(Quelle, 0);
  finally
    Ziel.free;
  end;
   Quelle.free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: date ikopieren mit fortsetzen funktion

  Alt 9. Sep 2006, 17:18
die datei wird ersetzt weil du sie mit fmCreate öffnest. fmCreate sorft dafür das die Datei angelegt wird wenn sie nicht existiert und beim öffnen geleert wird. nutze fmOpenWrite bzw. fmOpenReadWrite
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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