VB.NET中使用List

vb.net教程https://www.xin3721.com/eschool/vbnetxin3721/

  1 Imports System.IO
  2 Imports System.Data.OleDb
  3 Public Class Form_mobilecodeFilter
  4     Public list As New List(Of String)
  5     Public mobilecode As New List(Of mobile)
  6     Public loadlist As New List(Of plist) 
  7 
  8     '结构体 
  9 
 10     Public Structure mobile
 11         Public mobilecode As String
 12         Public Province As String
 13         Public City As String
 14         Public Card As String
 15     End Structure 
 16 
 17     Public Structure plist
 18         Public province As String
 19         Public mobileNew As List(Of citylist)
 20     End Structure 
 21 
 22     Public Structure citylist
 23         Public city As String
 24         Public mobilecontext As List(Of mobileLoadwritetxt)
 25     End Structure 
 26 
 27     Public Structure mobileLoadwritetxt
 28         Public context As String
 29         Public mobilecode As String
 30         Public Province As String
 31         Public City As String
 32         Public Card As String
 33     End Structure 
 34 
 35     Private Sub Button_Importmobilecode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Importmobilecode.Click
 36         Dim fileName As String
 37         OpenFileDialog_ImportMobileCode.Filter = "文本文件(*.txt)|*.txt"
 38         OpenFileDialog_ImportMobileCode.ShowDialog()
 39         fileName = OpenFileDialog_ImportMobileCode.FileName
 40         TextBox_Importfilepath.Text = fileName 
 41 
 42         Dim path As String
 43         Dim line As String = String.Empty
 44         path = TextBox_Importfilepath.Text
 45         Try
 46             FileOpen(1, path, OpenMode.Input)
 47         Catch ex As Exception
 48             FileClose(1)
 49             FileOpen(1, path, OpenMode.Input)
 50         End Try
 51         line = "" 
 52 
 53         Do While Not EOF(1)
 54             Input(1, line)
 55             If line.Trim <> "" Then
 56                 list.Add(line)
 57             End If
 58         Loop
 59         FileClose(1)
 60     End Sub 
 61 
 62     Private Sub Button_Checkout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Checkout.Click 
 63 
 64         Dim fileName As String
 65         Dim result As DialogResult = FolderBrowserDialog_download.ShowDialog()
 66         fileName = FolderBrowserDialog_download.SelectedPath
 67         Dim i, j, k As Integer
 68         Dim cl As citylist
 69         Dim mo As mobileLoadwritetxt
 70         For i = 0 To loadlist.Count - 1
 71             Dim txtpath As String = fileName & "\" & loadlist.Item(i).province
 72             System.IO.Directory.CreateDirectory(txtpath)
 73             For j = 0 To loadlist.Item(i).mobileNew.Count - 1
 74                 cl = loadlist.Item(i).mobileNew.Item(j)
 75                 Dim writefile As New StreamWriter(txtpath & "\" & cl.city & ".txt")
 76                 For k = 0 To cl.mobilecontext.Count - 1
 77                     mo = cl.mobilecontext.Item(k)
 78                     Dim context As String = mo.context
 79                     Dim province As String = mo.Province
 80                     Dim City As String = mo.City
 81                     Dim mobilecode As String = mo.mobilecode
 82                     Dim Card As String = mo.Card
 83                     Dim writecontext As String = ""
 84                     If CheckBox_ID.Checked Then
 85                         writecontext = writecontext & k 1 & "   "
 86                     End If
 87                     If CheckBox_mobilecode.Checked Then
 88                         writecontext = writecontext & context & "     "
 89                     End If
 90                     If CheckBox_province.Checked Then
 91                         writecontext = writecontext & province & "    "
 92                     End If
 93                     If CheckBox_city.Checked Then
 94                         writecontext = writecontext & City & "    "
 95                     End If
 96                     If CheckBox_haoduan.Checked Then
 97                         writecontext = writecontext & mobilecode & "    "
 98                     End If
 99                     If CheckBox_execute.Checked Then
100                         writecontext = writecontext & Card
101                     End If
102                     writefile.WriteLine(writecontext)
103                 Next
104                 writefile.Flush()
105                 writefile.Close()
106             Next
107         Next
108         TextBox_Importfilepath.Text = ""
109         MessageBox.Show("完成") 
110 
111     End Sub 
112 
113     Private Sub Button_closeMe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_closeMe.Click
114         Me.Close()
115     End Sub 
116 
117     Public Sub loadmobile()
118         Dim SQLGroupStr = "select * from mobile"
119         Dim CString As String = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ctc-nft.mdb;Persist Security Info=True"
120         Dim con As New OleDbConnection(CString)
121         Dim com As New OleDbCommand()
122         com.Connection = con
123         con.Open()
124         com.CommandType = CommandType.Text
125         com.CommandText = SQLGroupStr
126         Dim rs As OleDbDataReader = com.ExecuteReader()
127         While (rs.Read)
128             Dim m As New mobile
129             m.mobilecode = rs.GetString(0)
130             m.Province = rs.GetString(1)
131             m.City = rs.GetString(2)
132             m.Card = rs.GetString(3)
133             mobilecode.Add(m)
134         End While
135         con.Close()
136     End Sub 
137 
138     Private Sub Button_manage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_manage.Click
139         loadmobile()
140         MessageBox.Show("在处理中可能要等几分钟,请稍等

", "提示")
141         Dim i, j As Integer
142         Dim a As Integer = 1
143         Dim m As mobile
144         For i = 0 To mobilecode.Count - 1
145             m = mobilecode.Item(i)
146             For j = 0 To list.Count - 1
147                 If m.mobilecode.ToString.Equals(list.Item(j).ToString.Substring(0, 7)) Then
148                     If a = 1 Then
149                         a = a 1
150                         Dim pl As New plist
151                         pl.province = mobilecode.Item(i).Province
152                         Dim lm As New citylist
153                         lm.city = mobilecode.Item(i).City
154                         Dim mo As New mobileLoadwritetxt
155                         mo.Card = mobilecode.Item(i).Card
156                         mo.City = mobilecode.Item(i).City
157                         mo.context = list.Item(j)
158                         mo.mobilecode = mobilecode.Item(i).mobilecode
159                         mo.Province = mobilecode.Item(i).Province
160                         lm.mobilecontext = New List(Of mobileLoadwritetxt)
161                         lm.mobilecontext.Add(mo)
162                         pl.mobileNew = New List(Of citylist)
163                         pl.mobileNew.Add(lm)
164                         loadlist.Add(pl)
165                     Else
166                         Dim sp As String = isProvince(loadlist, mobilecode.Item(i).Province)
167                         Dim str() As String = sp.Split(" ")
168                         Dim flagprovince As String = str(0)
169                         Dim flag As Boolean
170                         If flagprovince.ToString.Equals("1") Then
171                             flag = True
172                         Else
173                             flag = False
174                         End If
175                         If flag = True Then
176                             Dim sc As String = iscity(loadlist, mobilecode.Item(i).City)
177                             Dim str1() As String = sc.Split(" ")
178                             Dim flagcity As Boolean
179                             If str1(0).ToString.Equals("1") Then
180                                 flagcity = True
181                             Else
182                                 flagcity = False
183                             End If
184                             If flagcity = True Then
185                                 Dim mob As New mobileLoadwritetxt
186                                 mob.Card = mobilecode.Item(i).Card
187                                 mob.City = mobilecode.Item(i).City
188                                 mob.context = list.Item(j)
189                                 mob.mobilecode = mobilecode.Item(i).mobilecode
190                                 mob.Province = mobilecode.Item(i).Province
191                                 loadlist.Item(str(1)).mobileNew.Item(str1(1)).mobilecontext.Add(mob)
192                             Else
193                                 Dim cl As New citylist
194                                 cl.city = mobilecode.Item(i).City
195                                 Dim mi As New mobileLoadwritetxt
196                                 mi.Card = mobilecode.Item(i).Card
197                                 mi.City = mobilecode.Item(i).City
198                                 mi.context = list.Item(j)
199                                 mi.mobilecode = mobilecode.Item(i).mobilecode
200                                 mi.Province = mobilecode.Item(i).Province
201                                 cl.mobilecontext = New List(Of mobileLoadwritetxt)
202                                 cl.mobilecontext.Add(mi)
203                                 loadlist.Item(str(1)).mobileNew.Add(cl)
204                             End If
205                         Else
206                             Dim pl As New plist
207                             pl.province = mobilecode.Item(i).Province
208                             Dim lm As New citylist
209                             lm.city = mobilecode.Item(i).City
210                             Dim mo As New mobileLoadwritetxt
211                             mo.Card = mobilecode.Item(i).Card
212                             mo.City = mobilecode.Item(i).City
213                             mo.context = list.Item(j)
214                             mo.mobilecode = mobilecode.Item(i).mobilecode
215                             mo.Province = mobilecode.Item(i).Province
216                             lm.mobilecontext = New List(Of mobileLoadwritetxt)
217                             lm.mobilecontext.Add(mo)
218                             pl.mobileNew = New List(Of citylist)
219                             pl.mobileNew.Add(lm)
220                             loadlist.Add(pl)
221                         End If
222                         End If
223                 End If
224             Next
225         Next
226         MessageBox.Show("请立即导入,当关闭此窗口数据就会销毁", "提示")
227     End Sub 
228 
229     Public Function isProvince(ByVal list As List(Of plist), ByVal str As String)
230         Dim i As Integer
231         For i = 0 To list.Count - 1
232             If str.ToString.Equals(list.Item(i).province.ToString) Then
233                 Return 1 & " " & i
234             End If
235         Next
236         Return 0 & " " & i - 1
237     End Function 
238 
239     Public Function iscity(ByVal list As List(Of plist), ByVal str As String)
240         Dim i, j As Integer
241         Dim pl As plist
242         pl.mobileNew = New List(Of citylist)
243         Dim cl As citylist
244         For i = 0 To list.Count - 1
245             pl.mobileNew = list.Item(i).mobileNew
246             For j = 0 To pl.mobileNew.Count - 1
247                 cl = pl.mobileNew.Item(j)
248                 If cl.city.ToString.Equals(str) Then
249                     Return 1 & " " & j
250                 End If
251             Next
252         Next
253         Return 0 & " " & j - 1
254     End Function 
255 
256 End Class 
257 

     '此段代码现给有一定编程基础的朋友

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值