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