大小先知书

Imports System.Data.OleDb

Public Class Form1
    Dim mulu As String() = {"律法书(摩西五经)", "历史书(旧约)", "诗歌·智慧书", "大先知书", "小先知书", "四福音&教会历史(使徒行传)", "保罗书信", "普通书信"}
    Dim jiuyue As String() = {"创", "出", "利", "民", "申", "书", "士", "得", "撒上", "撒下", "王上", "王下", "代上", "代下", "拉", "尼", "斯", "伯", "诗", "箴", "传", "歌", "赛", "耶", "哀", "结", "但", "何", "珥", "摩", "俄", "拿", "弥", "鸿", "哈", "番", "该", "亚", "玛"}
    Dim xinyue As String() = {"太", "可", "路", "约", "徒", "罗", "林前", "林后", "加", "弗", "腓", "西", "帖前", "帖后", "提前", "提后", "多", "门", "来", "雅", "彼前", "彼后", "约壹", "约贰", "约叁", "犹", "启"}
    Dim rtb As RichTextBox = New RichTextBox()                       '富文本控件
    Dim ms_left As MenuStrip = New MenuStrip()
    Dim ms_right As MenuStrip = New MenuStrip()
    Dim cms As ContextMenuStrip = New ContextMenuStrip()

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.rtb.Dock = DockStyle.Fill : Me.rtb.Font = New Font("黑体", 70, FontStyle.Bold) : Me.rtb.BackColor = Color.Black : Me.rtb.ReadOnly = True
        ms_left.Dock = DockStyle.Left : ms_right.Dock = DockStyle.Right '左右各一个菜单

        For i = 0 To jiuyue.Length - 1              '循环遍历菜单
            Dim tsb As ToolStripButton = New ToolStripButton(jiuyue(i)) : ms_left.Items.Add(tsb)
            If i < 5 Then
                tsb.BackColor = Color.FromArgb(255, 102, 102)
            ElseIf i < 17 Then
                tsb.BackColor = Color.FromArgb(153, 204, 102)
            ElseIf i < 22 Then
                tsb.BackColor = Color.FromArgb(0, 153, 204)
            Else
                tsb.BackColor = Color.FromArgb(255, 255, 102)
            End If
            AddHandler tsb.Click, AddressOf tsb_Click '声明一个事件委托
        Next i

        For i = 0 To xinyue.Length - 1
            Dim tsb As ToolStripButton = New ToolStripButton(xinyue(i)) : ms_right.Items.Add(tsb)
            If i < 4 Then
                tsb.BackColor = Color.FromArgb(255, 102, 102)
            ElseIf i < 5 Then
                tsb.BackColor = Color.FromArgb(153, 204, 102)
            ElseIf i < 26 Then
                tsb.BackColor = Color.FromArgb(0, 153, 204)
            Else
                tsb.BackColor = Color.FromArgb(255, 255, 102)
            End If
            AddHandler tsb.Click, AddressOf tsb_Click                                                                       '声明一个事件委托
        Next i

        Me.Size = New Size(1900, 1000)                                                                                        '窗口1900*1000
        Me.WindowState = FormWindowState.Maximized                                                                              '窗口最大化

        Me.Controls.Add(rtb) : Me.Controls.Add(ms_left) : Me.Controls.Add(ms_right)     '把控件加到form里面

        Me.rtb.ContextMenuStrip = cms                                                                                       '设置rtb的邮件菜单是cms菜单
        Me.cms.Font = New Font("黑体", 18, FontStyle.Bold)                                                                 '  菜单字体大小
        For i = 0 To mulu.Length - 1
            Dim tsmi_mulu As ToolStripMenuItem = New ToolStripMenuItem(mulu(i))
            cms.Items.Add(tsmi_mulu)
            If i = 0 Then
                For j = 0 To 4
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(jiuyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 1 Then
                For j = 5 To 16
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(jiuyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 2 Then
                For j = 17 To 21
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(jiuyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 3 Then
                For j = 22 To 26
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(jiuyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 4 Then
                For j = 27 To 38
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(jiuyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 5 Then
                For j = 0 To 4
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(xinyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 6 Then
                For j = 5 To 17
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(xinyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
            If i = 7 Then
                For j = 18 To 26
                    Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(xinyue(j))
                    tsmi_mulu.DropDownItems.Add(tsmi)
                    AddHandler tsmi.Click, AddressOf tsmi_Click
                Next j
            End If
        Next i


    End Sub

    Private Sub tsmi_Click(sender As Object, e As EventArgs)
        Dim s As String = CType(sender, ToolStripMenuItem).Text                                                         '强制转换sender变成菜单按钮
        Me.selecthb(s)
    End Sub

    Private Sub tsb_Click(sender As Object, e As EventArgs)
        Dim s As String = CType(sender, ToolStripButton).Text                                                         '强制转换sender变成菜单按钮
        Me.selecthb(s)
    End Sub

    Private Sub selecthb(ShortName As String)
        Dim ChapterSN As Integer = 0
        Dim VerseSN As Integer = 0

        While ChapterSN = 0                                                                          '条件无限循环
            Dim s As String = InputBox("输入章数", ShortName, "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("输入节数", ShortName & "第" & ChapterSN & "章", "1")
            If s = Nothing Or s.Equals("") Or s.Length > 3 Then
                Continue While
            End If
            VerseSN = Val(s)
        End While

        Me.rtb.Hide()
        Me.rtb.Clear()
        Me.rtb.SelectionColor = Color.OrangeRed
        Me.rtb.AppendText("《" & ShortName & "》" & "第" & 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 cmd As OleDbCommand = New OleDbCommand("select * from bible, bibleid where bible.VolumeSN = bibleid.SN and ShortName = @ShortName and ChapterSN = @ChapterSN and VerseSN >= @VerseSN", con)
                cmd.Parameters.AddWithValue("ShortName", ShortName) : 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.rtb.SelectionColor = Color.White : Me.rtb.AppendText("(" & sdr("VerseSN") & ")" & vbTab)
                        If i Mod 3 = 0 Then '隔行变色
                            Me.rtb.SelectionColor = Color.Cyan
                        ElseIf i Mod 3 = 1 Then
                            Me.rtb.SelectionColor = Color.Magenta
                        Else
                            Me.rtb.SelectionColor = Color.Yellow
                        End If
                        Me.rtb.AppendText(sdr("strjw") & vbVerticalTab)                                             '每次循环追加新内容
                        i += 1
                    End While
                End Using
            End Using
        End Using

        Me.rtb.Select(0, 0) : Me.rtb.Focus() : Me.rtb.Show()
    End Sub

End Class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值