Kürzlich habe ich versucht, ein .vbs-Skript zu erstellen, mit dem ich auf einem SMS-Client einen DDR (dicovery data record) erzeugen kann. Sollte eigentlich kein zu großes Problem sein, denn es gibt ja (a) das SMS SDK und (b) den SMS Operation Guide. Darin findet sich auch ein Beispiel: http://www.microsoft.com/technet/prodtechnol/sms/sms2003/opsguide/ops_64m9.mspx?mfr=true. An sich eine tolle Sache, nur ist dieses Konstrukt nicht sehr dynamisch – also eher statisch:
Dim IPAddress(3)
…
IPAddress(0)="123.234.12.23"
IPAddress(1)="123.234.12.32"
…
DDR.DDRAddStringArray "IP Addresses", Array(IPAddress(0),IPAddress(1)), 64, ADDPROP_ARRAY
…
IPAddress(0)="123.234.12.23"
IPAddress(1)="123.234.12.32"
…
DDR.DDRAddStringArray "IP Addresses", Array(IPAddress(0),IPAddress(1)), 64, ADDPROP_ARRAY
Man weiss ja vorher nicht genau, wie viele Elemente in dem Array sein werden, somit lässt sich der fett gedruckte Teil nicht wirklich dynamisieren, denn folgendes funktioniert leider nicht:
DDR.DDRAddStringArray "IP Addresses", IPAddress, 64, ADDPROP_ARRAY
Jeder Versuch, den Teil Array(IPAddress(0),IPAddress(1)) durch das Array an sich zu ersetzen, schlug fehl. Lange Rede, kurzer Sinn … danke an Vladi für den Tipp. So funktioniert’s:
Dim IPAddress(3)
…
IPAddress(0)="123.234.12.23"
IPAddress(1)="123.234.12.32"
…
…
IPAddress(0)="123.234.12.23"
IPAddress(1)="123.234.12.32"
…
var = IPAddress
DDR.DDRAddStringArray "IP Addresses", var, 64, ADDPROP_ARRAY
DDR.DDRAddStringArray "IP Addresses", var, 64, ADDPROP_ARRAY