Einzelnen Beitrag anzeigen

snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#1

blockwrite sehr sehr große datei.

  Alt 27. Jan 2008, 21:10
hallo

ich mach grad folgendes:

Delphi-Quellcode:
var
  Form1: TForm1;
  Num : Array of byte;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var dat : file;
lokal : integer;
begin
AssignFile(dat,'I:\delphi\testContainer\test1.dat');
rewrite(dat);
for lokal:=0 to 127 do Blockwrite(dat,num[0],1);
closefile(dat);
end;

procedure TForm1.FormCreate(Sender: TObject);
var lokal : integer;
begin
SetLength(Num,128);
for lokal:=0 to 127 do begin
num[lokal]:=lokal;
end;
end;
was ich machen will ist klar:

ich will das dynamische array am anfang mit den werten 0 bis 127 füllen, und dann den 1. wert 128 mal abspeichern.


soweit so gut.

klappt auch ohne error.

doch nun will ich nicht immer nur den ersten sondern alle werte abspeichern.

dazu habe ich

for lokal:=0 to 127 do Blockwrite(dat,num[lokal],1); ausprobiert.

doch nun bekomme ich den E/A-Feherl 1784.

was soll den dass?

das array ist lang genug und eigendlich sollte es nix zu meckern geben.

Btw:

bei der 1. variante habe ich gemerkt, dass die datei, welche eigendlich grad mal 128byte groß sein sollte auf 14KB anwächst. nachdem ich mir die sache mit einem Hex-Viewer angeguggt habe stellte ich fest, dass 128byte packete mehrmals hintereinander in die datei geschrieben wurden.

Weis jemand weiter?

gruß snow
  Mit Zitat antworten Zitat