Parameters doorgeven

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

This entry was posted in Gambas2, Hoe - in Gambas. Bookmark the permalink.