Code: Select all
; Simple Auto Dim
; by einander
; First array element reserved to keep array's dimension
; Optional paramenter Check.f Must be >=1
; On each successful check, array dimension is augmented by his dimension/Check
Procedure AutoDim(Index,Array Arr(1),Check.f=2)
If Index>=Arr(0)
Arr(0)+ArraySize(Arr())/Check+1
Redim Arr(Arr(0))
EndIf
EndProcedure
;<<<<<<<<<<<<<<<<<<<<<<<<
;Test
Dim Arr(0)
For i=1 To 123456
AutoDim(i,Arr())
Arr(i)=i*11
Next
For i=1 To 123456 Step 10000
T$+"Index "+Str(i)+Chr(9)+" Value "+Str(Arr(i))+Chr(10)
Next
MessageRequester("AutoDim - Array size = "+Str(ArraySize(Arr())),T$,0)