Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 150 MB Datei erstellen immer in 256byte schritten? (https://www.delphipraxis.net/78962-150-mb-datei-erstellen-immer-256byte-schritten.html)

R0BIN 13. Okt 2006 22:21

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...

inherited 13. Okt 2006 22:22

Re: 150 MB Datei erstellen immer in 256byte schritten?
 
Sind ja auch Ferien :roll:

Mackhack 13. Okt 2006 22:23

Re: 150 MB Datei erstellen immer in 256byte schritten?
 
Zitat:

Zitat von R0BIN
geht immer noch nicht wirklich....jetzt kommen 1 - 9 und dann aber wieder einsen bis neunen...

Nur mal so: Fuer was brauchst du denn diese File?

R0BIN 13. Okt 2006 22:26

Re: 150 MB Datei erstellen immer in 256byte schritten?
 
für einen test...

Zacherl 13. Okt 2006 22:27

Re: 150 MB Datei erstellen immer in 256byte schritten?
 
Mist ... war doch falsch :? Das problem liegt hier:
Delphi-Quellcode:
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;
Man kann nicht einfach schreiben:
Delphi-Quellcode:
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;
weil dann die Datei möglicherweise zu groß ist ...

Christian Seehase 13. Okt 2006 22:28

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;

Sunlight7 13. Okt 2006 22:29

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...

Mackhack 13. Okt 2006 22:30

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!

R0BIN 13. Okt 2006 22:30

Re: 150 MB Datei erstellen immer in 256byte schritten?
 
jetzt ist es wieder wie nach deinem ersten code!

jmd anders 13. Okt 2006 22:30

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.
Seite 2 von 4     12 34      

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