Imports System.Data.OleDb
Public Class Form1
Private RichTextBox1 As RichTextBox = New RichTextBox()
Private TableLayoutPanel1 As TableLayoutPanel = New TableLayoutPanel()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Size = New Size(1024, 768)
Me.WindowState = FormWindowState.Maximized
Me.rtb()
Me.ms()
Me.tlp()
End Sub
Private Sub rtb()
Me.RichTextBox1.Dock = DockStyle.Fill
Me.RichTextBox1.Font = New Font("黑体", 70, FontStyle.Bold)
Me.RichTextBox1.BackColor = Color.Black
Me.RichTextBox1.ReadOnly = True
Me.Controls.Add(Me.RichTextBox1)
End Sub
Private Sub ms()
Dim ToolStripButton1 As ToolStripButton = New ToolStripButton("【中文和合本】(Alt+&1)", Nothing, AddressOf ToolStripButton1_Click)
ToolStripButton1.Font = New Font("黑体", 12, FontStyle.Bold)
Dim ms As MenuStrip = New MenuStrip()
ms.Items.Add(ToolStripButton1)
Me.Controls.Add(ms)
End Sub
Private Sub tlp()
Me.TableLayoutPanel1.Dock = DockStyle.Fill
Me.TableLayoutPanel1.ColumnCount = 4
Me.TableLayoutPanel1.RowCount = 32
For i As Integer = 0 To Me.TableLayoutPanel1.ColumnCount - 1
Me.TableLayoutPanel1.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 100 / Me.TableLayoutPanel1.ColumnCount * 1.0!))
Next
For i As Integer = 0 To Me.TableLayoutPanel1.RowCount - 1
Me.TableLayoutPanel1.RowStyles.Add(New RowStyle(SizeType.Percent, 100 / Me.TableLayoutPanel1.RowCount * 1.0!))
Next
Dim mulu As String() = {"圣经目录(中文和合本)", "旧约", "律法书", "王国前历史书", "王国时期历史书", "被掳后历史书", "诗歌·智慧书", "大先知书", "王国时期小先知书", "被掳后小先知书", "新约", "四福音", "教会历史", "保罗书信", "其他使徒书信", "对约翰的启示", "圣经目录(中文和合本)"}
Dim lbl As Label() = New Label(mulu.Length) {}
For i As Integer = 0 To mulu.Length - 1
lbl(i) = New Label()
lbl(i).Anchor = AnchorStyles.None
lbl(i).AutoSize = True
lbl(i).BorderStyle = BorderStyle.FixedSingle
If i <> 0 And i <> 1 And i <> 10 And i <> 16 Then
lbl(i).Font = New Font("黑体", 15, FontStyle.Bold)
Else
Me.TableLayoutPanel1.SetColumnSpan(lbl(i), 2)
lbl(i).Font = New Font("黑体", 30, FontStyle.Bold)
End If
lbl(i).Dock = DockStyle.Fill
lbl(i).Text = mulu(i)
lbl(i).TextAlign = ContentAlignment.MiddleCenter
lbl(i).ForeColor = Color.Red
Next
Dim juan As String() = {"创世记", "出埃及记", "利未记", "民数记", "申命记", "约书亚记", "士师记", "路得记", "撒母耳记上", "撒母耳记下", "列王纪上", "列王纪下", "历代志上", "历代志下", "以斯拉记", "尼希米记", "以斯帖记", "约伯记", "诗篇", "箴言", "传道书", "雅歌", "以赛亚书", "耶利米书", "耶利米哀歌", "以西结书", "但以理书", "何西阿书", "约珥书", "阿摩司书", "俄巴底亚书", "约拿书", "弥迦书", "那鸿书", "哈巴谷书", "西番雅书", "哈该书", "撒迦利亚书", "玛拉基书", "马太福音", "马可福音", "路加福音", "约翰福音", "使徒行传", "罗马书", "哥林多前书", "哥林多后书", "加拉太书", "以弗所书", "腓立比书", "歌罗西书", "帖撒罗尼迦前书", "帖撒罗尼迦后书", "提摩太前书", "提摩太后书", "提多书", "腓利门书", "希伯来书", "雅各书", "彼得前书", "彼得后书", "约翰壹书", "约翰贰书", "约翰叁书", "犹大书", "启示录"}
Dim lkl As LinkLabel() = New LinkLabel(juan.Length) {}
For i As Integer = 0 To juan.Length - 1
lkl(i) = New LinkLabel()
lkl(i).Anchor = AnchorStyles.None
lkl(i).AutoSize = True
lkl(i).Font = New Font("黑体", 15, FontStyle.Bold)
lkl(i).Text = juan(i)
lkl(i).TextAlign = ContentAlignment.MiddleCenter
Next
Me.TableLayoutPanel1.SetColumnSpan(lbl(0), 4)
Me.TableLayoutPanel1.SetRowSpan(lbl(0), 2)
Me.TableLayoutPanel1.Controls.Add(lbl(0), 0, 0)
Me.TableLayoutPanel1.SetColumnSpan(lbl(1), 2)
Me.TableLayoutPanel1.SetRowSpan(lbl(1), 2)
Me.TableLayoutPanel1.Controls.Add(lbl(1), 0, 2)
Me.TableLayoutPanel1.Controls.Add(lbl(2), 0, 4)
For i As Integer = 0 To 4
Me.TableLayoutPanel1.Controls.Add(lkl(i), 0, i + 5)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(3), 0, 10)
For i As Integer = 5 To 7
Me.TableLayoutPanel1.Controls.Add(lkl(i), 0, i + 6)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(4), 0, 16)
For i As Integer = 8 To 13
Me.TableLayoutPanel1.Controls.Add(lkl(i), 0, i + 9)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(5), 0, 26)
For i As Integer = 14 To 16
Me.TableLayoutPanel1.Controls.Add(lkl(i), 0, i + 13)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(6), 1, 4)
For i As Integer = 17 To 21
Me.TableLayoutPanel1.Controls.Add(lkl(i), 1, i - 12)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(7), 1, 10)
For i As Integer = 22 To 26
Me.TableLayoutPanel1.Controls.Add(lkl(i), 1, i - 11)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(8), 1, 16)
For i As Integer = 27 To 35
Me.TableLayoutPanel1.Controls.Add(lkl(i), 1, i - 10)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(9), 1, 26)
For i As Integer = 36 To 38
Me.TableLayoutPanel1.Controls.Add(lkl(i), 1, i - 9)
Next
Me.TableLayoutPanel1.SetColumnSpan(lbl(10), 2)
Me.TableLayoutPanel1.SetRowSpan(lbl(10), 2)
Me.TableLayoutPanel1.Controls.Add(lbl(10), 2, 2)
Me.TableLayoutPanel1.Controls.Add(lbl(11), 2, 4)
For i As Integer = 39 To 42
Me.TableLayoutPanel1.Controls.Add(lkl(i), 2, i - 34)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(12), 2, 10)
For i As Integer = 43 To 43
Me.TableLayoutPanel1.Controls.Add(lkl(i), 2, i - 32)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(13), 2, 16)
For i As Integer = 44 To 56
Me.TableLayoutPanel1.Controls.Add(lkl(i), 2, i - 27)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(14), 3, 4)
For i As Integer = 57 To 64
Me.TableLayoutPanel1.Controls.Add(lkl(i), 3, i - 52)
Next
Me.TableLayoutPanel1.Controls.Add(lbl(15), 3, 16)
For i As Integer = 65 To 65
Me.TableLayoutPanel1.Controls.Add(lkl(i), 3, i - 48)
Next
Me.TableLayoutPanel1.SetColumnSpan(lbl(16), 4)
Me.TableLayoutPanel1.SetRowSpan(lbl(16), 2)
Me.TableLayoutPanel1.Controls.Add(lbl(16), 0, 30)
For i As Integer = 0 To juan.Length - 1
AddHandler lkl(i).Click, AddressOf lkl_Click
Next
Me.Controls.Add(TableLayoutPanel1)
Me.TableLayoutPanel1.BringToFront()
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs)
If Me.TableLayoutPanel1.Visible Then
Me.TableLayoutPanel1.Visible = False
Return
End If
Me.TableLayoutPanel1.Visible = True
End Sub
Private Sub lkl_Click(sender As Object, e As EventArgs)
Dim s As String = CType(sender, LinkLabel).Text
Me.selecthb(s)
Me.TableLayoutPanel1.Visible = False
End Sub
Private Sub selecthb(FullName As String)
Dim ChapterSN As Integer = 0
Dim VerseSN As Integer = 0
While ChapterSN = 0 '条件无限循环
Dim s As String = InputBox("输入章数", FullName, "1") '定义输入框
If s = Nothing Or s.Equals("") Or s.Length > 3 Then '判断如果输入的不是空或者不是空字符串或者长度大于三才可以跳出循环
Continue While
End If
ChapterSN = Val(s) '章数转换为整数
End While
While VerseSN = 0
Dim s As String = InputBox("输入节数", FullName & "第" & ChapterSN & "章", "1")
If s = Nothing Or s.Equals("") Or s.Length > 3 Then
Continue While
End If
VerseSN = Val(s)
End While
Me.RichTextBox1.Hide()
Me.RichTextBox1.Clear()
Me.RichTextBox1.SelectionColor = Color.OrangeRed
Me.RichTextBox1.AppendText("《" & FullName & "》" & "第" & ChapterSN & "章" & vbVerticalTab)
'Using con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bibleNosound.dat;Persist Security Info=True;Jet OLEDB:Database Password=pasitoldata")
Using con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bible7.dat;Persist Security Info=True;Jet OLEDB:Database Password=gqrjabcde")
Using cmd As OleDbCommand = New OleDbCommand("select * from bible, bibleid where bible.VolumeSN = bibleid.SN and FullName = @FullName and ChapterSN = @ChapterSN and VerseSN >= @VerseSN", con)
cmd.Parameters.AddWithValue("FullName", FullName) : cmd.Parameters.AddWithValue("ChapterSN", ChapterSN) : cmd.Parameters.AddWithValue("VerseSN", VerseSN) : con.Open()
Using sdr As OleDbDataReader = cmd.ExecuteReader()
Dim i As Integer = 0
While sdr.Read()
Me.RichTextBox1.SelectionColor = Color.White : Me.RichTextBox1.AppendText("(" & sdr("VerseSN") & ")" & vbTab)
If i Mod 3 = 0 Then '隔行变色
'Me.rtb.SelectionColor = Color.Cyan
Me.RichTextBox1.SelectionColor = Color.FromArgb(63, 255, 255)
ElseIf i Mod 3 = 1 Then
'Me.rtb.SelectionColor = Color.Magenta
Me.RichTextBox1.SelectionColor = Color.FromArgb(255, 63, 255)
Else
'Me.rtb.SelectionColor = Color.Yellow
Me.RichTextBox1.SelectionColor = Color.FromArgb(255, 255, 63)
End If
Me.RichTextBox1.AppendText(sdr("strjw") & vbVerticalTab) '每次循环追加新内容
i += 1
End While
End Using
End Using
End Using
Me.RichTextBox1.Select(0, 0)
Me.RichTextBox1.Focus()
Me.RichTextBox1.Show()
Me.RichTextBox1.Focus()
Me.RichTextBox1.Select(0, 0)
End Sub
End Class
02-04
537
