📄 form1.vb
字号:
Imports System.IO
Imports System
Public Class Form1
Private Class RndOptionClass
Public ChoiceMax As Integer = 0
Public GroupMax As Integer = 0
Public ItemMax As Integer = 0
Public CutChar As String = ","
Public OptionSaveFile As Boolean = False
Public OptionOnly As Boolean = False
Public OptionOrder As Boolean = False
Public OptionGroupOnly As Boolean = False
End Class
Private Class RndItemClass
Dim RItem(10) As Integer
Dim RMax As Integer
Dim DataRows As DataSet
Dim RowIndex() As Integer
Dim GroupIndex As Integer
Public Sub LoadDataRows()
Dim SQLstring As String
SQLstring = "SELECT * FROM 抽取库"
Dim DataConnection As System.Data.OleDb.OleDbConnection
Dim DataAdapter As System.Data.OleDb.OleDbDataAdapter
Dim DataSet As DataSet
Dim ss As Integer
ss = 0
Try
DataConnection = New System.Data.OleDb.OleDbConnection
DataConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\RndNumber.mdb"
DataAdapter = New System.Data.OleDb.OleDbDataAdapter(SQLstring, DataConnection)
DataSet = New DataSet
DataSet.Clear()
DataAdapter.Fill(DataSet)
DataConnection.Close()
If DataSet.Tables.Count > 0 Then
DataRows = DataSet
End If
ReDim RowIndex(DataRows.Tables(0).Rows.Count)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub Clear()
Dim i As Integer
For i = 0 To RItem.Count - 1
RItem(i) = 0
Next
RMax = 0
GroupIndex = 0
End Sub
Public Function OutputOk(ByVal Values As Boolean) As Boolean
If Values Then
Dim B As Boolean
Dim I As Integer
B = True
Dim TSrk As String = ""
For I = 0 To RMax - 1
TSrk = TSrk & "," & Trim(Str(RItem(0)))
Next
If GroupIndex >= 1 Then
For I = 0 To GroupIndex - 1
If TSrk = RowIndex(I) Then B = False
Next
If B Then
RowIndex(GroupIndex) = TSrk
GroupIndex = GroupIndex + 1
Return True
Else
Return False
End If
Else
Return True
End If
Else
Return True
End If
End Function
Public Function OutputNumber(ByVal OrderBy As Boolean, ByVal CutChar As String) As String
'排序
If OrderBy Then
Dim J As Integer
Dim K As Integer
Dim Rn As Integer
Dim KeyA As Integer
Dim KeyB As Integer
If RMax <= 1 Then
Else
If RMax = 2 Then
KeyA = DataRows.Tables(0).Rows(RItem(0)).Item("数值")
KeyB = DataRows.Tables(0).Rows(RItem(1)).Item("数值")
If KeyA > KeyB Then
Rn = RItem(0)
RItem(0) = RItem(1)
RItem(1) = Rn
End If
Else
For J = 0 To RMax - 2
For K = J + 1 To RMax - 1
KeyA = DataRows.Tables(0).Rows(RItem(J)).Item("数值")
KeyB = DataRows.Tables(0).Rows(RItem(K)).Item("数值")
If KeyA > KeyB Then
Rn = RItem(J)
RItem(J) = RItem(K)
RItem(K) = Rn
End If
Next
Next
End If
End If
End If
'输出
Dim I As Integer
Dim RtStr As String = ""
If RMax > 1 Then
RtStr = DataRows.Tables(0).Rows(RItem(0)).Item("数值")
For I = 1 To RMax - 1
RtStr = RtStr & CutChar & DataRows.Tables(0).Rows(RItem(I)).Item("数值")
Next
Else
Return RItem(0)
End If
Return RtStr
End Function
Public Function InputNumber(ByVal Value As Integer, ByVal Only As Boolean) As Boolean
If Only Then
If RMax > 0 Then
Dim I As Integer
Dim B As Boolean
B = True
For I = 0 To RMax - 1
If RItem(I) = Value Then
B = False
End If
Next
If B Then
RItem(RMax) = Value
RMax = RMax + 1
End If
Return B
Else
RItem(RMax) = Value
RMax = RMax + 1
Return True
End If
Else
RItem(RMax) = Value
RMax = RMax + 1
Return True
End If
End Function
End Class
Private T1 As String = ""
Private T2 As String = ""
Private T3 As String = ""
Private T4 As String = ""
Private T5 As String = ""
Private Connlinks = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\RndNumber.mdb"
Private R As Random = New Random(Now.Second * Now.DayOfYear * Now.Millisecond)
Private RndOption As RndOptionClass = New RndOptionClass
Private RndItems As RndItemClass = New RndItemClass
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim objStreamWriter As TextWriter
'Pass the file path and the file name to the StreamWriter constructor.
objStreamWriter = New StreamWriter("C:\Test.txt")
'Write a line of text.
Dim I As Integer
For I = 0 To 5000
objStreamWriter.WriteLine(GetNumber(30000))
Next
'Write a second line of text.
objStreamWriter.WriteLine("From the StreamWriter class")
'Close the file.
objStreamWriter.Close()
MsgBox("完成")
End Sub
Private Function GetNumber(ByVal Index As Integer) As Integer
Dim Rtn As Integer
Rtn = -1
Do Until Rtn >= 0 And Rtn <= Index
Rtn = R.Next(0, Index)
Windows.Forms.Application.DoEvents()
Loop
Return Rtn
End Function
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.FileName = ""
OpenFileDialog1.ShowDialog()
Dim ft As String = ""
ft = OpenFileDialog1.FileName
If ft = "" Then
Else
TextBox1.Text = ft
End If
End Sub
Private Sub TextBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDoubleClick
OpenFileDialog1.FileName = ""
OpenFileDialog1.ShowDialog()
Dim ft As String = ""
ft = OpenFileDialog1.FileName
If ft = "" Then
Else
TextBox1.Text = ft
End If
End Sub
Private Sub TextBox2_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox2.MouseDoubleClick
SaveFileDialog1.FileName = ""
SaveFileDialog1.ShowDialog()
Dim ft As String = ""
ft = SaveFileDialog1.FileName
If ft = "" Then
Else
TextBox2.Text = ft
End If
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
T2 = TextBox2.Text
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SaveFileDialog1.FileName = ""
SaveFileDialog1.ShowDialog()
Dim ft As String = ""
ft = SaveFileDialog1.FileName
If ft = "" Then
Else
TextBox2.Text = ft
End If
End Sub
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
SaveInI()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = ReadyLibNumberSum("抽取库")
LoadIni()
LabelItemClear()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
ReadFile(TextBox1.Text)
End Sub
Private Sub ReadFile(ByVal FileNames As String)
Dim IndexSum As Integer = 0
If Not File.Exists(FileNames) Then
Return
Else
DeleteLib()
Using sr As StreamReader = File.OpenText(FileNames)
Dim input As String
input = Trim(sr.ReadLine())
IndexSum = 0
Label1.Text = IndexSum
While Not input Is Nothing
If Val(input) > 0 Then
If ReadyLibSum(input) = 0 Then
IndexSum = IndexSum + 1
SaveIntoLib(input, IndexSum.ToString)
Label1.Text = IndexSum
End If
End If
input = sr.ReadLine()
Windows.Forms.Application.DoEvents()
End While
MsgBox("完成!")
sr.Close()
End Using
End If
End Sub
Private Sub SaveIntoLib(ByVal Index As String, ByVal IndexSum As String)
Dim sqlstr As String = ""
Dim sqlconn As New System.Data.OleDb.OleDbConnection(Connlinks)
'GSetting GValues GEnable OrderByThis
Try
' UPDATE mytable SET first_column=’Updated!’ WHERE second_column=’Update Me!’
' DELETE mytable WHERE first_column=’goodby’ OR second_column=’so long’
'sqlstr = "INSERT INTO 主表 (企业名称,市,区县) VALUES ( )"
'sqlstr = "DELETE From " & index & " WHERE 企业名称 NOT IN (SELECT 主表!企业名称 FROM 主表)"
sqlstr = "INSERT INTO 抽取库 ( ID, 数值 ,次数 ) VALUES ( " & IndexSum & ", '" & Trim(Index) & "',0) "
If sqlstr <> "" Then
Dim cmdTable As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand(sqlstr, sqlconn)
cmdTable.CommandType = CommandType.Text
sqlconn.Open()
cmdTable.ExecuteNonQuery()
sqlconn.Close()
End If
'Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;
Catch ex As Exception
MsgBox(" ::::: " & ex.Message)
End Try
End Sub
Private Function ReadyLibSum(ByVal Index As String) As Integer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -