Parameters tussen haakjes
Parameter passing of parameters doorgeven naar een procedure, functie (of een klasse) gaat door ze tussen gewone ronde haakjes te zetten:
procedure1(string1, string2)
resultaat = functie1(parameter1, parameter2)
De parameters kunnen getallen, tekst enz. zijn, afhankelijk hoe ze gedeclareerd zijn in de procedure.
Bv in de FMain form toon je het resultaat in een TextLabel1:
TextLabel1.Text = produkt(15, 3)
De procedure kan er zo uitzien:
PUBLIC SUB produkt(i AS INTEGER, j AS INTEGER)
RETURN i * j
END
Een array als parameter
Het wordt een beetje ingewikkelder als je geen gewone parameters (integer, float, string..) wil geven, maar een “hoger” type, als een array.
Stel dat de klasse er zo uitziet:
PUBLIC SUB _new(ArrayOfParameters AS VARIANT)
iNumberOfParameters = ArrayOfParameters.Count
myParameters = ArrayOfParameters
END
En volgende methodes bevat:
PUBLIC SUB getParameters() AS Integer
RETURN myParameters.Count
END
PUBLIC SUB getParameter(i AS Integer) AS Float
RETURN myParameters[i]
END
De aanroep kan dan zo gebeuren (code van FMain):
PUBLIC arrFloats AS NEW FLOAT[]
PUBLIC hClass AS CReceiver
PUBLIC SUB _new()
arrFloats.Add(1.1)
arrFloats.Add(1.3)
arrFloats.Add(2.4)
'
hClass = NEW CReceiver(arrFloats)
END
PUBLIC SUB Form_Open()
SpinBox1.MaxValue = arrFloats.Count - 1
SpinBox1.Value = SpinBox1.MaxValue
END
PUBLIC SUB Button1_Click()
TextLabel1.Text = hClass.getParameters()
END
PUBLIC SUB Button2_Click()
TextLabel2.Text = hClass.getParameter(SpinBox1.Value)
END