代码之家  ›  专栏  ›  技术社区  ›  Hackoo

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

  •  1
  • Hackoo  · 技术社区  · 7 年前

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

    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 回复  |  直到 7 年前
        1
  •  3
  •   Ansgar Wiechers    7 年前

    因为有两个大小相同的数组,在相同的位置有相应的元素,所以我只需要使用索引。

    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