Date: 02-16-2022
Return to Index
created by gbSnippets
'It is very common for a programmer to need to pass an array of values
'to a Sub/Function and/or to return the array to the calling code.
'PowerBASIC cannot return an array as a Function return value, so arrays
'must be passed ByRef as arguments to the Sub/Function.
'Primary Code:
'the calling code:
iResult& = MyFunction ( ArrayA() ) 'pass ByRef, not by ByVal
'the Sub/Function statement
Function MyFunction ( TheArray() As Long ) As Long
'Compilable Example: (Jose Includes)
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
%Unicode=1
#Include "Win32API.inc"
Global hDlg as Dword
Function PBMain() As Long
Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
Control Add Button, hDlg, 100,"Push", 50,10,100,20
Dialog Show Modal hDlg Call DlgProc
End Function
CallBack Function DlgProc() As Long
If CB.Msg = %WM_Command AND CB.Ctl = 100 AND CB.Ctlmsg = %BN_Clicked Then
Dim MyArray(5) as Long
Array Assign MyArray() = 5,4,3,2,1,0
MsgBox MyFunction(MyArray())
End If
End Function
Function MyFunction ( A() as Long) As String
Local i as Long, temp$
For i = 0 to UBound(A)
temp$ = temp$ + str$(A(i))
Next i
Function = temp$
End Function
'gbs_00325
'Date: 03-10-2012
http://www.garybeene.com/sw/gbsnippets.htm