Einzelnen Beitrag anzeigen

gandime
(Gast)

n/a Beiträge
 
#1

Aus Datei auslesen splitten und zusammen setzten?

  Alt 2. Feb 2008, 16:53
Hi,
hehe sry für den komischen Namen mir is nichts besseres eingefallen
Also ich möchte:
-ein Stück einer Datei auslesen
-in einen String umwandel
-dann wieder in einen Buffer laden
-und die Stücke wieder in einer Datei zusammen setzen

jetzt fragt ihr euch warscheinlich warum
das ist teil eines filesends was ich euch mal ersparen wollte

hab schonmal was versucht aber es funzt noch nicht so wie ich es will
Delphi-Quellcode:
procedure Tfrm_server.Button1Click(Sender: TObject);
var
  Buffer,Buffer2: array[0..4095] of Byte;
  s_send:string;
  fs_file,fs_file2:Tfilestream;
  i:integer;
begin
    fs_file:=Tfilestream.create('D:\a.mp3',fmOpenRead or fmShareDenyWrite);
  while True do
  begin
    s_send:='';
    fs_file2:=TFilestream.Create('X:\a.mp3', fmCreate or fmShareDenyWrite);
    fs_file.read(Buffer,sizeof(Buffer));
    for I := 0 to sizeof(buffer) do
      s_send:=s_send+pchar(@buffer[i]);
    for I := 1 to length(s_send) do
      Buffer2[i-1]:=byte(s_send[i]);//hier Fehler
    fs_file2.Position:=fs_file2.size;
    fs_file2.WriteBuffer(Buffer2,sizeof(Buffer2));
    if fs_file.Position>=fs_file.Size then
    begin
      fs_file2.free;
      exit;
    end;
    fs_file2.free;
  end;
end;
wenn die while Schleife das zweite mal durchläuft gibt es dort folgenden Fehler:
Zitat:
access violantion at 0x7e9399e6: read of adress 0x7e9399e6.
was kann ich an dem Code verbessern hab das jetzt einfach mal nach Gefühl gemacht


mfg
gandime
  Mit Zitat antworten Zitat