![]() |
Teile einer datei auslesen und extrahieren
Delphi-Quellcode:
wie ich schon erkannt hab ist buf zu klein beim vergrößern gibts allerdings ein Debugger Problem
procedure TForm1.Button5Click(Sender: TObject);
var Buf : Array [0..524287] of Char; Buf ist zu klein fs2 : TFilestream; Temp :TBC; SizeEel,SizeEef : Int64; startEel, StartEef : Int64; begin Temp := GetSgoldPlatform(OpenDialog1.Filename);//hier wird Typ bestimmt SizeEelite := 0; case typ of //Adresse Offset 65: begin SizeEel := 131072; //20000 SizeEef := 131072; //20000 startEel := 16646144; //fe0000 StartEef := 2228224; //220000 end; 75: begin SizeEel := 131072; //20000 ok SizeEef := 262144; //40000 startEel := 262144; //40000 ok StartEef := 66715648; //3fa0000 end; 85: begin SizeEel := 262144; //20000 ok SizeEef := 524288; //80000 startEel := 262144; //40000 ok StartEef := 66322432; //3f40000 end; end; if SaveDialog1.Execute then begin FS := TFileStream.Create(OpenDialog1.Filename,fmopenreadwrite); FS2 := TFileStream.Create(SaveDialog1.FileName,fmCreate); FS.ReadBuffer(Buf,StartEelite); fs2.CopyFrom(fs,SizeEelite); FS.Free; FS2.Free; memo1.Lines.add('gespeichert als '+ExtractFilename(SaveDialog1.FileName)); end; end; |
Re: Teile einer datei auslesen und extrahieren
Hallo,
du kannst nicht beliebig viel Speicher auf dem Stack anfordern. Wozu brauchst du denn überhaupt die Variable Buf, wenn du lediglich einen bestimmten Teil der Quelldatei in eine eigene Datei kopieren willst?
Delphi-Quellcode:
Grüße vom marabu
with SaveDialog1 do
if Execute then begin FS := TFileStream.Create(OpenDialog1.Filename, fmopenreadwrite); FS2 := TFileStream.Create(SaveDialog1.FileName, fmCreate); FS.Position := StartEelite; fs2.CopyFrom(fs, SizeEelite); FS.Free; FS2.Free; memo1.Lines.add('gespeichert als ' + ExtractFilename(SaveDialog1.FileName)); end; end; |
Re: Teile einer datei auslesen und extrahieren
ja Danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz