Hallo, ich hätte mal wieder eine Frage und zwar will ich einen unbekannten Array bearbeiten können. Muß dafür aber wissen wieviel Zeilen und wieviel Spallten der Array hat. Gibt es eine Funktion oder einen Befehl der diese Daten ausgibt?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wir benutzen einen trick um zumindest die größe eines eindimensionalen arrays zu bestimmen.
dazu übergeben wir nicht das array, sondern einen pointer auf das array und zusätzlich die größe des arrays.
das sieht für eine array sort routine wie folgt aus:
_array_sort(adr(unbekannt),sizeof(unbekannt)).
da aber nur die größe in bytes ermittelt werden kann sagt das nichts über die struktur aus, es geht also nur vernünftig über eindimensionale arrays
das ganze kannst du dir im source ansehen in unserer lib
durch die Definietion eines neuen Datentypes(STRUCT) lassen sich mehrdimensionale ARRAY's auf ein eindimensionales ARRAY [0..x] OF MyStruct zurückführen.
Die Anzahl der Elemente im Array kann dann über SIZEOF(MyArray)/SIZEOF(MyStruct) ermittelt werden.
Gruss cmoeller
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ja sicher aber wenn du keinerlei wissen über die datenstruktur hast dann geht das eben nicht die frage oben war unbekannte anzahl von zeilen und unbekannte anzahl von spalten.
das könnte dann sein ein array[0..19] of real
oder genauso ein array [0..9,0..1] of real
oder etliche weitere alle hätten dieselbe größe
aber über die struktur wäre nichts bekannt.
dasselbe hätte ich auch schön öfters gesucht z.b. zum bearbeiten einer beliebigen matrix.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo, ich hätte mal wieder eine Frage und zwar will ich einen unbekannten Array bearbeiten können. Muß dafür aber wissen wieviel Zeilen und wieviel Spallten der Array hat. Gibt es eine Funktion oder einen Befehl der diese Daten ausgibt?
wir benutzen einen trick um zumindest die größe eines eindimensionalen arrays zu bestimmen.
dazu übergeben wir nicht das array, sondern einen pointer auf das array und zusätzlich die größe des arrays.
das sieht für eine array sort routine wie folgt aus:
_array_sort(adr(unbekannt),sizeof(unbekannt)).
da aber nur die größe in bytes ermittelt werden kann sagt das nichts über die struktur aus, es geht also nur vernünftig über eindimensionale arrays
das ganze kannst du dir im source ansehen in unserer lib
w www.oscat.de w
Hallo Hugo,
durch die Definietion eines neuen Datentypes(STRUCT) lassen sich mehrdimensionale ARRAY's auf ein eindimensionales ARRAY [0..x] OF MyStruct zurückführen.
Die Anzahl der Elemente im Array kann dann über SIZEOF(MyArray)/SIZEOF(MyStruct) ermittelt werden.
Gruss cmoeller
ja sicher aber wenn du keinerlei wissen über die datenstruktur hast dann geht das eben nicht die frage oben war unbekannte anzahl von zeilen und unbekannte anzahl von spalten.
das könnte dann sein ein array[0..19] of real
oder genauso ein array [0..9,0..1] of real
oder etliche weitere alle hätten dieselbe größe
aber über die struktur wäre nichts bekannt.
dasselbe hätte ich auch schön öfters gesucht z.b. zum bearbeiten einer beliebigen matrix.