Dankeschöööön:
Ich hab ein bischen tüfteln müssen,
die eckigen Klammern waren falsch,
aber soweit geht es jetzt:
Code:
Dim Tabelle(5) As Byte
Dim Addresse As Word
Dim X As Byte
Declare Sub Array_anzeigen(addr As Word)
Aufruf:
Addresse = Varptr(tabelle(1))
For X = 1 To 5
Tabelle(x) = X * 11
Print "Schreibe Werte in Tabelle(";
Print X;
Print ") = ";
Print Tabelle(x)
Next X
Call Array_anzeigen(addresse)
Do
nop
Loop
End 'end program
' ............
Sub Array_anzeigen(addr As Word)
Local Y As Byte
Local D As Byte
Print "Von Suboutine aus :"
For Y = 1 To 5 ' einfache Schleife
Print "Folgender Wert ist in B_ar_werte(";
Print Y;
Print ") enthalten :";
D = INP(addr)
Print D ' Inhalt des Arrays anzeigen.
Incr Addr
Next Y
End Sub
Soweit so gut.
Ist möchte jetzt aber noch mehr.
(kaum gibt man ihm den kleinen Finger...)
Ist es möglich herauszufinden wie groß das Array dimensioniert wurde (ein- und/oder mehrdimensional) also z.B. (5) oder (2 , 5)?
Dann könnte man ohne große Probleme verschiedene Tabellen mit der gleichen Routine bearbeiten ohne Gefahr in ein "out of range" zu laufen.
Code:
Print "Dimension = " ; Tabelle(0)
geht auch nicht. (eindimensional)
Dies wäre ein extra Bonbon.
Lesezeichen