PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array Functionen



bergowitch
20.05.2005, 16:56
Hallo,
ich möchte gerne eine Funktion erstellen die ein Array vom Typ Byte zurückgibt.
so etwa ( nur gehts so leider nicht)


Dim A(2) As Byte
Declare Function Test(2)(byval F As Byte) As Byte
Do
A() = Test()(8)
Loop
End 'end program
Function Test(2)(byval F As Byte) As Byte
Test(1) = F
Test(2) = F + 1
End Function
Gibts eine Möglichkeit so dass es doch geht?
Danke Gruß
Stefan

teslanikola
20.05.2005, 18:09
@bergowitch
Äh ist zwar ne blöde frage aber was ist eigentlich ein Array???

PicNick
20.05.2005, 18:16
Ich weiß nicht, ob ich's versteh: Du willst von einer Function ein Array befüllen lassen ? (weil erzeugen kann er sie ja nicht)
Du kannst ihr ja den gewünschten Anfangs-Index als Parameter mitgeben.
die Tabelle ist ja sowieso durch DIM für alle zugänglich
Vielleicht kannst dein Problem näher erläutern.

bergowitch
20.05.2005, 18:33
Hi,
@ teslanikola: eine array ist ein Feld von Varibalen z.B. Dim A (3) as byte erzeugt drei Variablen A(1) , A(2), A(3)
@PicNick: Klar kann ich auch so an globale Variablen dran ist aber irgendwie nicht sauber (dann bräucht man ja keine Funktionen.
Ich würde aber gerne eine Funktion schreiben, die zwei variablen zurückgibt. ich fahre nämlich mit dem Servo die Umgebung ab und möchte die minimale Entfernung und deren Richtung zurück geben. Da aber nicht immer dieselbe globale Var verändert werden soll ist der soll die Funkction zwei Werte zurückgeben und nicht nureinen. Zwei Funktionen wäre nicht besser, da es dann doppelt so lange dauert.
Gruß Stefan

PicNick
20.05.2005, 19:54
Na ja, folgendes als sub

declare sub _2Val(byref Out1 as byte, byref Out2 as byte, byval F as byte)

call _2Val(tab(1), tab(2), 8)

sub _2Val(byref Out1 as byte, byref Out2 as byte, byval F as byte)
out1 = F
out2 = F +1
end sub

bergowitch
20.05.2005, 21:36
Zwar keine "saubere"Lösung - aber einfach nett und simpel fast perfekt
Danke
Gruß
Stefan