Questa classe implementa una conversione automatica della stringa in array. Metti la classe in un file, includila nel tuo script.
Per creare un StringArray Set str = StringArray("Prova")
Per ottenere un carattere Str.CharAt(indice)
Per ottenere il codice di un carattere Str.CharCodeAt(indice)
e diverse altre cose.
Ciao
codice:
Class cStringArray
Private ArrayString()
Private ValueString
Private PrivateLength
Private Sub Class_Initialize()
PrivateLength = 0
End Sub
Public Default Property Get Value()
Value = ValueString
End Property
Public Property Let Value(Content)
Dim i
PrivateLength = Len(Content)
Redim Preserve ArrayString(PrivateLength)
For i = 0 to PrivateLength
ArrayString(i) = Mid(Content,i+1,1)
Next
ValueString = Content
End Property
Public Property Get Length()
Length = PrivateLength
End Property
Public Function CharAt(index)
CharAt = ArrayString(Index-1)
End Function
Public Function CharCodeAt(Index)
CharCodeAt = Asc(ArrayString(Index-1))
End Function
Public Function ToArray()
ToArray = ArrayString
End Function
Public Sub Append(Content)
Dim i,l,Start
l = Len(Content)
Start = PrivateLength
PrivateLength = PrivateLength + l
Redim Preserve ArrayString(PrivateLength)
For i = Start to PrivateLength
ArrayString(i) = Mid(Content,i+1,1)
Next
ValueString = ValueString & Content
End Sub
Public Sub AppendBefore(Content)
Dim i
ValueString = Content & ValueString
PrivateLength = Len(ValueString)
Redim ArrayString(PrivateLength)
For i = 0 to PrivateLength
ArrayString(i) = Mid(ValueString,i+1,1)
Next
End Sub
Public Sub Insert(Content,Index)
Dim i
ValueString = Mid(ValueString,1,Index) & Content & Mid(ValueString,Index+1)
PrivateLength = Len(ValueString)
Redim ArrayString(PrivateLength)
For i = 0 to PrivateLength
ArrayString(i) = Mid(ValueString,i+1,1)
Next
End Sub
End Class
Function StringArray(value)
Dim obj
Set obj = new cStringArray
obj.Value = value
Set StringArray = Obj
Set Obj = nothing
End Function
Esempio di uso di tutti i metodi
codice:
Dim str,i,ar
Set str = StringArray("Prova")
Response.Write str & "
"
Str.Append "-APPEND"
Response.Write str & "
"
Str.AppendBefore "BEFORE-"
Response.Write str & "
"
Str.Insert "INSERT",5
Response.Write str & "
"
Response.Write str.Length & "
"
For i=1 to Str.Length
Response.Write Str.CharAt(i) & " = " & Str.CharCodeAt(i) & "
"
Next
ar = Str.ToArray()
For i=0 to uBound(ar)
Response.Write ar(i) & "
"
Next