AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ab best. Offset aus Datei1 in Datei2 kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

ab best. Offset aus Datei1 in Datei2 kopieren

Ein Thema von Coder · begonnen am 10. Jul 2005 · letzter Beitrag vom 11. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
206 Beiträge
 
Delphi 3 Professional
 
#1

ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 10. Jul 2005, 23:26
Ich möchte aus Datei1 in Datei2 kopieren.

aber ab einem bestimmten Offset aus Datei1.
Datei2 neu erstellen.

Ich habe mal versucht das mit Seek,Blockwrite usw. zu machen [siehe Link].
Aber das scheint mir nicht sinnvoll.

Kann man das eleganter lösen?

http://alcodream.al.funpic.de/dhelp_10-7/

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 10. Jul 2005, 23:34
Streams wären noch eine Möglichkeit.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
206 Beiträge
 
Delphi 3 Professional
 
#3

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 10. Jul 2005, 23:44
mhh, ja...
wenn ich nur wüßte, wie...
Blockwrite scheint einfacher..
Aber auch nur für nichtkomplexe Dinge..

hab gar keine Vorstellung, wie das mit streams aussieht
hab nur 1 Beispiel gefunden, daß mir aber auch nicht viel sagt - also wie ich das anpassen könnte...
ich möchte ja aus einer in eine andere Datei kopieren.
nicht nur an die selbe anhängen.
http://www.delphipraxis.net/internal...en+tfilestream
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 10. Jul 2005, 23:47
Dateizeiger mit Position setzen und dann CopyFrom.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
206 Beiträge
 
Delphi 3 Professional
 
#5

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 10. Jul 2005, 23:52
mhh
ich weiß auch nicht..
in den Delphi-Büchern stehen immer so schöne Beispiele. ("Kopieren Sie 1 Datei in eine andere"
unit unit1
procedure bla();
copy stream1, stream12;
end;
)
mhh, und wenn ich das auf meine Programme anwende funktioniert es nicht
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 11. Jul 2005, 07:06
Du musst nur die Dateinamen fnSource und fnTarget und die Anzahl der zu übergehenden Bytes in iPosition festlegen und los geht's:

Delphi-Quellcode:
fsSource := TFileStream.Create(fnSource, fmOpenRead);
fsTarget := TFileStream.Create(fnTarget, fmCreate);

// Diese 2 Zeilen meinte Luckie...
fsSource.Position := iPosition;
fsTarget.CopyFrom(fsSource, fsSource.Size - iPosition);

fsTarget.Free;
fsSource.Free;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
206 Beiträge
 
Delphi 3 Professional
 
#7

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 11. Jul 2005, 07:09
so, habe mal versucht, das mit den Streams etwas umzuschreiben.

Aber laufen tut es nicht.
vor allem die Speicheranforderung.

source-Codelink http://alcodream.al.funpic.de/dhelp_10-7/

^^ hier mal der aktualisierte link
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 11. Jul 2005, 08:49
in deinem Beispiel ist buffer 1 Byte groß, das heißt du kopierst auch nur ein Byte. Desweiteren hast du in dem Beispiel nicht das gepostet umgesetzt sondern das gepostete zu 50% mit deinem ersten Source vermischt, und da kanns halt nicht funkionieren. (zum Beispiel hast du nirgends das CopyFrom)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
206 Beiträge
 
Delphi 3 Professional
 
#9

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 11. Jul 2005, 08:57
habe jetzt mal das versucht

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var a,b: TFileStream;
Offset : cardinal;
begin

offset := Strtoint(Edit3.Text);

a := TFileStream.Create('Datei.dat', fmOpenRead);
b := TFileStream.create('datei2.dat', fmCreate);
b.CopyFrom(a, offset);

a.Free; b.Free;

End;
EDIT: LÄUFT
gnarf - manche Dinge sind in Delphi so einfach.
Aber streams gehören irgendwie nicht dazu.
Hab von Walter Doberenz "Borl. Delphi 6 Grundlagen" (ok, hab nur Delphi 3 Pro, aber dennoch)
is ein dickes Buch, aber irgendwie sind Streams da auch nicht ganz so toll erklärt.

welches Buch fandet Ihr denn toll?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: ab best. Offset aus Datei1 in Datei2 kopieren

  Alt 11. Jul 2005, 08:59
es muss so sein:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var a,b: TFileStream;
Offset : cardinal;
begin

offset := Strtoint(Edit3.Text);

a := TFileStream.Create('Datei.dat', fmOpenRead);
b := TFileStream.Create('datei2.dat', fmCreate);
b.CopyFrom(a, offset);
a.Free; b.Free;

End;
du hast das "Create" vergessen, so wie es bei jeder Objectinstanzierung sein muss.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:33 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