Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Aus Datei auslesen splitten und zusammen setzten?

  Alt 6. Feb 2008, 11:06
Wenn du Daten aus Stream A nach Stream B kopieren möchtest, dann kannst du einfach die Methode CopyFrom verwenden.
Delphi-Quellcode:
fs_file:=Tfilestream.create('D:\a.mp3',fmOpenRead or fmShareDenyWrite);
fs_file2:=TFilestream.Create('X:\a.mp3', fmCreate or fmShareDenyWrite);
fs_file2.CopyFrom(fs_file, 500); // 500 Bytes kopieren
Wenn du die Daten modifizieren möchtest brauchst du einen Puffer.
Ich würde dir hier einen normalen (Ansi-)string empfehlen.

Delphi-Quellcode:
var
   buffer:string;
...
fs_file:=Tfilestream.create('D:\a.mp3',fmOpenRead or fmShareDenyWrite);
fs_file2:=TFilestream.Create('X:\a.mp3', fmCreate or fmShareDenyWrite);
SetLength(buffer, 4096); // Speicher reservieren

  while irgendwas do
  begin
    fs_file.ReadBuffer(buffer[1], 256); // 256 Bytes lesen
    buffer[20] := chr($a0); // ein Byte ändern
    fs_file2.WriteBuffer(buffer[1], 256); // 256 Bytes schreiben
  end;

// TOLL ! "buffer" braucht nicht freigegeben zu werden; das macht Delphi automatisch
Andreas
  Mit Zitat antworten Zitat