Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim indices As List(Of String) = CreateIndices()
Dim fileName As String = Application.StartupPath & "\RiverNile" & "\indices.txt"
Using sw As New IO.StreamWriter(CreateFile(fileName))
For Each line As String In indices
sw.WriteLine(line)
Next
End Using
End Sub
Private Function CreateGroupIndices(s1 As String, s2 As String) As String()
Dim s1Strings As String() = s1.Split("."c)
Dim s2Strings As String() = s2.Split("."c)
Dim last As String = s2Strings(s2Strings.Length - 1)
Dim min As Integer = CInt(s1Strings(s1Strings.Length - 2))
Dim max As Integer = CInt(s2Strings(s2Strings.Length - 2))
Dim results As List(Of String) = New List(Of String)()
For i As Integer = min To max
Dim s As String = s1Strings(0) + "." + s1Strings(1) + "." + i.ToString + "." + last
results.Add(s)
Next
Return results.ToArray
End Function
Private Function CreateIndices() As List(Of String)
Dim result As List(Of String) = New List(Of String)()
' ----------- from 202.86.16.0 To 202.86.31.255
Dim group1 As String() = CreateGroupIndices("202.86.16.0", "202.86.31.255")
For i As Integer = 0 To group1.Length - 1
Dim current As String = group1(i)
result.Add(current)
Next
' ----------- from 203.215.32.0 To 203.215.47.255
Dim group2 As String() = CreateGroupIndices("203.215.32.0", "203.215.47.255")
For i As Integer = 0 To group2.Length - 1
Dim current As String = group2(i)
result.Add(current)
Next
' ----------- from 31.22.48.0 To 31.22.63.255
Dim group3 As String() = CreateGroupIndices("31.22.48.0", "31.22.63.255")
For i As Integer = 0 To group3.Length - 1
Dim current As String = group3(i)
result.Add(current)
Next
' ----------- from 31.44.64.0 To 31.44.79.255
Dim group4 As String() = CreateGroupIndices("31.44.64.0", "31.44.79.255")
For i As Integer = 0 To group4.Length - 1
Dim current As String = group4(i)
result.Add(current)
Next
' ----------- from 46.252.32.0 To 46.252.47.255
Dim group5 As String() = CreateGroupIndices("46.252.32.0", "46.252.47.255")
For i As Integer = 0 To group5.Length - 1
Dim current As String = group5(i)
result.Add(current)
Next
' ----------- from 77.242.16.0 To 77.242.31.255
Dim group6 As String() = CreateGroupIndices("77.242.16.0", "77.242.31.255")
For i As Integer = 0 To group6.Length - 1
Dim current As String = group6(i)
result.Add(current)
Next
' ----------- from 80.78.64.0 to 80.78.79.255
Dim group7 As String() = CreateGroupIndices("80.78.64.0", "80.78.79.255")
For i As Integer = 0 To group7.Length - 1
Dim current As String = group7(i)
result.Add(current)
Next
Return result
End Function
Private Function CreateFile(filePathName As String) As IO.Stream
Dim result As IO.Stream
Try
result = New IO.FileStream(filePathName, IO.FileMode.Create, IO.FileAccess.Write)
Catch ex As Exception
IO.Directory.CreateDirectory(IO.Path.GetDirectoryName(filePathName))
result = New IO.FileStream(filePathName, IO.FileMode.Create, IO.FileAccess.Write)
End Try
Return result
End Function
End Class