如何用循环中的两个数组正确填充字典?

时间:2018-10-24 15:57:23

标签: vbscript

我想用两个数组填充字典:

Dim URL_PORT,username,password,Receivers_Types,ArrTypes,MyType
Stream_Link = "http://someurl.dnsfor.me:18000/live/username/5563285/91.ts"

Link = Split(Stream_Link,"/")
URL_PORT = Link(2)
username = Link(4)
password = Link(5)

Receivers_Types = Array("Generic M3U","Generic M3U with option","GigaBlue","Enigma","Dreambox OE 2.0",_
"Simple list","Octogon","Ocagon Auto script","StarLive/StarSat HD6060/AZclass","StarLive v4/MediaStar",_
"StarLive v5","Enigma EO 1.6 Auto Script","Enigma EO 2.0 Auto Script","WebTV List","Ariva","Spark",_
"Geant/StarSat/Tiger/Qmax/Hyper/Royal","Fortec 999/Prifix 9400/StarPort","Revolution 60/60/SunPlus","Zorro")

ArrTypes = Array("m3u","m3u_plus","gigablue","enigma16","dreambox","simple","octagon","octagon_script",_
"starlivev3","mediastar","starlivev5","enigma216_script","enigma22_script","webtvlist","ariva","spark","gst","fps","revosun","zorro")

Set dico = CreateObject("Scripting.Dictionary")

For Each Receiver_type in Receivers_Types
    For Each MyType in ArrTypes
        M3U_URL = "http://" & URL_PORT & "/get.php?username=" & username & "&password=" & password & "&type="& MyType
        If Not dico.Exists(Receiver_type) Then
            dico.Add Receiver_type,M3U_URL
        End if
    Next
Next

For each K in dico.keys()
    Result = Result + k & vbCrLf & dico(k) & vbCrLf
Next
wscript.echo Result

但是问题是我在每个键中都有相同的项目??

我想要的输出是这样的:

Generic M3U
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=m3u
Generic M3U with option
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=m3u_plus
GigaBlue
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=gigablue
Enigma
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=enigma16
Dreambox OE 2.0
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=dreambox
Simple list
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=simple
Octogon
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=octagon
Ocagon Auto script
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=octagon_script
StarLive/StarSat HD6060/AZclass
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=starlivev3
StarLive v4/MediaStar
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=mediastar
StarLive v5
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=starlivev5
Enigma EO 1.6 Auto Script
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=enigma216_script
Enigma EO 2.0 Auto Script
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=enigma22_script
WebTV List
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=webtvlist
Ariva
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=ariva
Spark
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=spark
Geant/StarSat/Tiger/Qmax/Hyper/Royal
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=gst
Fortec 999/Prifix 9400/StarPort
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=fps
Revolution 60/60/SunPlus
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=revosun
Zorro
http://someurl.dnsfor.me:18000/get.php?username=username&password=5563285&type=zorro

1 个答案:

答案 0 :(得分:3)

由于您有2个相同大小的数组,并且在相同位置有相应的元素,因此我只使用索引。

Set dico = CreateObject("Scripting.Dictionary")
For i=0 To UBound(Receivers_Types)
    dico(Receivers_Types(i)) = "http://" & URL_PORT & "/get.php?username=" & _
        username & "&password=" & password & "&type=" & ArrTypes(i)
Next
相关问题