Jag håller på att skriva en bot för irc. I den har jag en collection som jag läser in alla channels som botten bevakar i när den startar. Problemet är att när den går in i en channel den inte bevakar så finns ju inte den i collection så när den försöker hämta data om channeln i fråga så hittar den inte denna och klagar högljutt. För att plocka fram datan så använder jag keys. Hur kan jag kolla om en viss key existerar i collectionen i fråga? Hej. Hehe. Faktum är att jag själv löste det så just efter att jag skrivit det här inlägget... Ändrade lite för att göra den mer användbar. Du skulle ju kunna prova att använda Dictionary objektet.Collections
Sv: Collections
Det går ju att fuska lite enligt denna princip:
Function Exists(Key As String) As Boolean
On Error goto ErrX
Dim obj
Set obj = col(Key) 'Finns objektet går allt bra returnerar true
Exists = True
Exit Function
ErrX:
Exists = False 'Objektet fanns inte, returnerar false
End Function
Detta blev ett ganska dåligt exempel men jag hoppas du förstår vad jag menar...Sv: Collections
<code>
Function ConfirmExistance(ChannelName As String) As Boolean
On Error GoTo errhandle
If colChannels.Item(ChannelName).Name <> "" Then
ConfirmExistance = True
Exit Function
Else
ConfirmExistance = False
Exit Function
End If
errhandle:
ConfirmExistance = False
Exit Function
End Function
</code>Sv: Collections
<code>
Function ConfirmExistance(Data As String, MyCollection As Object) As Boolean
On Error GoTo errhandle
If MyCollection.Item(Data).Name <> "" Then
ConfirmExistance = True
Exit Function
Else
ConfirmExistance = False
Exit Function
End If
errhandle:
ConfirmExistance = False
Exit Function
End Function
</code>Sv: Collections
Har några fler metoder som inte Collection har däribland .Exists