![]() |
Re: 150 MB Datei erstellen immer in 256byte schritten?
geht immer noch nicht wirklich....jetzt kommen 1 - 9 und dann aber wieder einsen bis neunen...
|
Re: 150 MB Datei erstellen immer in 256byte schritten?
Sind ja auch Ferien :roll:
|
Re: 150 MB Datei erstellen immer in 256byte schritten?
Zitat:
|
Re: 150 MB Datei erstellen immer in 256byte schritten?
für einen test...
|
Re: 150 MB Datei erstellen immer in 256byte schritten?
Mist ... war doch falsch :? Das problem liegt hier:
Delphi-Quellcode:
Man kann nicht einfach schreiben:
for i := 1 to (FileSize div 256) do
begin s := ''; SetLength(s, 256); for i2 := 1 to 256 do s[i2] := IntToStr(i)[1]; fs.Write(PChar(s)^, Length(s)); end;
Delphi-Quellcode:
weil dann die Datei möglicherweise zu groß ist ...
for i := 1 to (FileSize div 256) do
begin for i2 := 1 to 256 do s := IntToStr(i); fs.Write(PChar(s)^, Length(s)); end; |
Re: 150 MB Datei erstellen immer in 256byte schritten?
Moin Zusammen,
wie wär's denn mit:
Delphi-Quellcode:
var
sBuf : string; i : integer; begin fs := TFileStream.Create(....); try while true do begin for i := 1 to 255 do begin sBuf := StringOfChar(chr(i),256); fs.Write(sBuf[1],256); if fs.Size = (1024*1024*150) then exit; end; end; finally FreeAndNil(fs); end; end; |
Re: 150 MB Datei erstellen immer in 256byte schritten?
Warum nimmst Du nicht einfach einen PChar, ZeroMemory, bzw. FillMemory und schreibst das direkt in die Datei, anstatt Dich mit den FileStreams herum zu ärgern? :gruebel:
Edit: Also wenn das mit dem Roten Kasten funktionieren würde, wäre das nicht schlecht... |
Re: 150 MB Datei erstellen immer in 256byte schritten?
Na ja jetzt hast ja wieder nur eine Schleife drin und nur noch 1024 als Filesize.
//Edit: Hat sich erledigt! |
Re: 150 MB Datei erstellen immer in 256byte schritten?
jetzt ist es wieder wie nach deinem ersten code!
|
Re: 150 MB Datei erstellen immer in 256byte schritten?
Naja irgendwie kann das nicht so klappen. du deine 111.. 222... 333.. ...999... geschrieben hast, braucht ja jedes Zeichen im string wirklich nur ein byte, nur dann bei der 10 werden immer 2 bytes zur darstellung gebraucht und dann ab der 100 3 zeichen, also muss etwas an der aufgabenstellung geändert werden. müssen es unbedingt zahlen sein?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 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