PDA

View Full Version : OOP String Array module



Gary
09-09-2023, 23:17
'---Script created on 09-09-2023 12:04:17 by Gary
'Array module
Uses "console"


'At it's simplest OOP is just a container of simular functions
'in this module all functions use arrays in some way








Type ArrayFunctions
Private
arrtext as string
delimiter as string



Public


Function _Create(arText as string, delim as string) As Long
'---------------------------------------------------
me.arrtext = arText
me.delimiter = delim

End Function


function Chg_ArrayText(arText as string) as string
me.arrText = arText
end function


function Chg_Delimiter(delim as string) as string
me.delimiter = delim
end function




function Text2Array(ByRef arr() As String)
dim parsecnt as long,tcnt as long
parseCnt = ParseCount(me.arrText,me.delimiter)
ReDim arr(parsecnt) As String
Parse me.arrtext, arr(),me.delimiter


end function




Function Array2Text(a() As String) As String
Function =Join$(a(),me.delimiter)
End Function






FUNCTION Array2Clip(a() As String)
Dim dd3 As String
dd3=Join$(a(),me.delimiter)
ClipBoard_SetText(dd3)
End FUNCTION






function Clip2Array(byref arr() as string) as String
dim st As String
st = ClipBoard_GetText
ReDim arr(ParseCount(st,me.delimiter)) As String
Parse st, arr(),me.delimiter


end function


function RemoveDuplicates (Arr() As string) as long
'fxm from freebasic
Dim LB As Integer , j As Integer, UB As Integer
UB = Ubound(Arr)
LB = LBound(Arr)
Do While LB < UB
j = LB + 1
Do While j <= UB
If Arr(LB) = Arr(j) Then
Arr(j) = Arr(UB)
UB = UB - 1
Else
j = j + 1
End If
Loop
LB = LB + 1
Loop
Redim Preserve Arr(UB)


End function


function printArray(arr() as string) as string


Printl me.Array2Text(arr ) + $crlf


end function
end type


dim tarr(6) as string
dim main as string,stxt as string
dim newArr(4) as string,nArr(4) as string








stxt= "aaaa"+$crlf
stxt += "bbbb"+$crlf
stxt += "cccc"+$crlf
stxt += "dddd"+$crlf




Dim arr As ArrayFunctions(stxt,$crlf) 'array module


nArr(1)= "1"
nArr(2)= "2"
nArr(3)= "3"
nArr(4)= "4"




Print "--------------------------------------------"+$crlf
Print "-Print the NewArr()-------------------------"+$crlf
'note: do not put parenthesis after arrayName
arr.Text2Array( newArr )
arr.PrintArray( newArr )






stxt= "1111"+$crlf
stxt += "2222"+$crlf
stxt += "3333"+$crlf
stxt += "4444"+$crlf


'next 3 stmts puts new text in oop text string
'puts text in array
'puts it back to text so it can be printed out
Print "--------------------------------------------"+$crlf
Print "-Print the changed NewArr()-----------------"+$crlf
arr.Chg_ArrayText(stxt) : arr.Chg_Delimiter($crlf)
arr.Text2Array( newArr )
arr.PrintArray( newArr )




Print "--------------------------------------------"+$crlf
Print "-Removes Duplicates from Array tarr()-------"+$crlf
tarr(1)= "1"
tarr(2)= "2"
tarr(3)= "3"
tarr(4)= "4"
tarr(5)= "4"
tarr(6)= "4"


arr.RemoveDuplicates(tarr)
arr.PrintArray( tarr )


Console_WaitKey