Einzelnen Beitrag anzeigen

behbeh

Registriert seit: 29. Dez 2005
Ort: Ochtrup
10 Beiträge
 
Delphi 7 Personal
 
#10

Re: Eine Frage zu dynamischen Arrays

  Alt 29. Dez 2005, 20:15
Zitat von Flocke:
Ein "Array of Double" ist einfach ein Zeiger der mit dynamischem Speicher belegt wird. Du musst in zwei "Häppchen" lesen:
1. Die Struktur OHNE das Array
2. Das Array selbst

Etwa so (aus dem Kopf)
Delphi-Quellcode:
Stream.ReadBuffer(in_file, SizeOf(in_file) - SizeOf(in_file.Tdata));
SetLength(in_file.Tdata, in_file.NumberofPoints);
Stream.ReadBuffer(in_file.Tdata[0], in_file.NumberofPoints * SizeOf(in_file.Tdata[0]));

JA SUPER, das funktioniert.....
Ich habe mich schon gewundert, wenn diese Hilfe kommt beim schreiben wird angezeigt "^infile.tdata" was ja wohl heisst, das diese Variable ein zeiger ist....
Wenn ich also jetzt 2 datensaetze einlesen will, xdata und ydata(jeweils z.B. 10000 werte ) dann muss ich das dann so machen

SetLength(in_file.Txdata, in_file.NumberofPoints); // Zeitwerte
SetLength(in_file.Tydata, in_file.NumberofPoints); // Messwerte
weil die immer gleich sind, zu jeder Zeit gehört ein Messwert

Stream.ReadBuffer(in_file.Txdata[0], in_file.NumberofPoints * SizeOf(in_file.Txdata[0]));
^^^^Groesse des Arrays
Stream.ReadBuffer(in_file.Tydata[0], in_file.NumberofPoints * SizeOf(in_file.Tydata[0]));
^Zeiger auf den Anfang?? des Arrays

Vielen vielen dank....
Bernd
Bernd
  Mit Zitat antworten Zitat