⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmread.vb

📁 日報管理システム&#65407 &#65392 &#65405 です よろしくお願いします
💻 VB
📖 第 1 页 / 共 3 页
字号:
            MsgBox(ex.ToString, , "読み込む処理の失敗")

        Finally
            '■解放処理
            strSonzai = Nothing
            Erase listPaths
        End Try

    End Sub

    ''' <summary>
    ''' 更新ボタン
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub tsbUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbUpdate.Click

        '■変数
        Dim strSonzai As String                                 'ファイルバス記録用
        Dim intResult As Integer                                '確認処理用

        Try

            '■確認ウィンドウの表示
            intResult = MessageBox.Show("全部の変更を書込みますが" _
                                            , "確認" _
                                            , MessageBoxButtons.OKCancel _
                                            , MessageBoxIcon.Asterisk _
                                            , MessageBoxDefaultButton.Button1)
            '□キャンセルの処理
            If intResult = DialogResult.Cancel Then
                Return
            End If

            '■ファイルバスの生成
            strSonzai = mStrRepPath & _
                         Me.DateTimePicker1.Value.Year & _
                         "\" & Me.DateTimePicker1.Value.Month & _
                         "\" & Me.DateTimePicker1.Value.Day & _
                         "\" & DateTimePicker1.Value.Year & _
                         CType(Me.DateTimePicker1.Value.Month, String).PadLeft(2, "0") & _
                         CType(DateTimePicker1.Value.Day, String).PadLeft(2, "0") & _
                         "_" & _
                         CType(mliShain(Me.cobEmployeeName.SelectedIndex), cShain).name & _
                         CType(mliShain(Me.cobEmployeeName.SelectedIndex), cShain).id & _
                         ".xml"

            '■レポートの更新
            Call Me.MakeNewXml(strSonzai)

        Catch ex As Exception

            MsgBox(ex.ToString, , "更新失敗")
        Finally
            '■解放処理
            strSonzai = Nothing
            intResult = Nothing
        End Try
    End Sub

    ''' <summary>
    ''' 削除ボタン
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub tsbDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbDelete.Click

        '■変数
        Dim strSonzai As String                                 'ファイルバス記録用
        Dim intResult As Integer                                '確認処理用

        Try

            '■選択しているタブ存在の判断
            If Me.tabReport.TabPages.Count = 0 Then

                MessageBox.Show("選択しているタブがありません")
                Return
            End If

            '■確認ウィンドウの表示
            intResult = MessageBox.Show("選択しているタブを削除しますが" _
                                            , "確認" _
                                            , MessageBoxButtons.OKCancel _
                                            , MessageBoxIcon.Asterisk _
                                            , MessageBoxDefaultButton.Button1)
            '□キャンセルの処理
            If intResult = DialogResult.Cancel Then
                Return
            End If

            '■画面のフォーカスを持っているTabPageを削除する
            If Me.tabReport.TabPages.Count > 0 Then
                Me.tabReport.TabPages.Remove(Me.tabReport.SelectedTab)
            End If

        Catch ex As Exception

            MsgBox(ex.ToString, , "削除失敗")
        Finally
            '■解放処理
            strSonzai = Nothing
            intResult = Nothing
        End Try
    End Sub

    ''' <summary>
    ''' 追加ボタン
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

        '■変数
        Dim strTitle As String
        Dim intCount As Integer = Me.tabReport.TabPages.Count
        Dim tbPage As TabPage
        Dim txtB As TextBox

        Try

            '■入力タイトルの判断
            If (Not (Me.txtTitle.Text = Nothing)) Then
                strTitle = Me.txtTitle.Text
            Else
                MsgBox("タイトルが入力されていません。")
                Me.txtTitle.Focus()
                Exit Sub
            End If

            '■入力タイトル同名存在の判断
            If (tabReport.TabPages.Count >= 0) Then
                For i As Integer = 0 To tabReport.TabPages.Count - 1
                    If (Me.tabReport.TabPages.Item(i).Text = strTitle) Then
                        MsgBox("同名の報告が存在します。")
                        Me.txtTitle.Focus()
                        Exit Sub
                    End If
                Next
            End If

            '■レポートの生成
            tbPage = New TabPage
            tbPage.Name = "tbPage" & Me.tabReport.TabCount.ToString
            tbPage.Text = Me.txtTitle.Text

            Me.tabReport.TabPages.Add(tbPage)
            If (Not (tabReport.TabPages.Count.Equals(0))) Then Me.tabReport.SelectTab(tabReport.TabCount - 1)

            '訪問部署ボックス生成(パネル上)
            txtB = New TextBox
            txtB.Name = "txtBusyo0"
            tbPage.Controls.Add(txtB)
            txtB.Location = New Point(30, 0)
            txtB.Size = New Size(250, 25)

            '報告内容2ボックス生成(予備)
            txtB = New TextBox
            txtB.Name = "txtBusyo1"
            tbPage.Controls.Add(txtB)
            txtB.Location = New Point(350, 0)
            txtB.Size = New Size(250, 25)

            '報告内容ボックス生成(パネル上)
            txtB = New TextBox
            txtB.Name = "txtReport"
            txtB.Multiline = True
            txtB.Font = New Font("MS P Gothic", 12, FontStyle.Regular)
            txtB.Size = New Size(Me.tabReport.Width - 5, Me.tabReport.Height - 50)
            txtB.Location = New Point(0, 35)
            txtB.Dock = DockStyle.Bottom

            Me.tabReport.TabPages(Me.tabReport.TabCount - 1).Controls.Add(txtB)

        Catch ex As Exception
            MsgBox(ex.ToString, , "ページ追加処理の失敗")

        Finally
            '■解放処理
            strTitle = Nothing
            tbPage = Nothing
            txtB = Nothing

        End Try

    End Sub

#End Region

#Region "□画面のTEXTBOXイベント □"

    ''' <summary>
    ''' パスワードの確認
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub MaskedTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPW.TextChanged
        Try

            '■入力したパスワードの判断
            If txtPW.Text.Equals(CType(mliShain(Me.cobEmployeeName.SelectedIndex), cShain).pws) Then

                '□更新に関するコントロールの設定
                Me.tsbDelete.Enabled = True
                Me.tsbUpdate.Enabled = True
                Me.txtTitle.Enabled = True
                Me.btnAdd.Enabled = True
                Me.txtKensuu1.Enabled = True
                Me.txtKensuu2.Enabled = True

                For Each tp As TabPage In Me.tabReport.TabPages

                    CType(tp.Controls("txtReport"), TextBox).ReadOnly = False
                    CType(tp.Controls("txtBusyo0"), TextBox).ReadOnly = False
                    CType(tp.Controls("txtBusyo1"), TextBox).ReadOnly = False
                Next

            End If
        Catch ex As Exception

            MsgBox(ex.ToString, , "パスワードの確認の失敗")
        End Try
    End Sub

#End Region

#End Region

#Region "■ユーザメソッド     ■"

    ''' <summary>
    ''' 画面の初期化
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub SetFrom()

        Try

            '■画面の初期化
            Me.tabReport.TabPages.Clear()
            Me.tsbUpdate.Enabled = False
            Me.tsbDelete.Enabled = False
            Me.txtKensuu1.Text = String.Empty
            Me.txtKensuu2.Text = String.Empty
            Me.btnAdd.Enabled = False
            Me.txtTitle.Enabled = False
            Me.txtTitle.Text = String.Empty
            Me.txtPW.Text = String.Empty

        Catch ex As Exception

        End Try
    End Sub

    ''' <summary>
    ''' レポート読み込む処理
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub ReadRep(ByVal path As String)

        '■変数
        Dim xmlDoc As XmlDocument                            'XMLファイル読み取り用

        Try

            '■暗号化ファイルの解凍
            xmlDoc = FromBinary(path)

            For Each xmlNo As XmlNode In xmlDoc.ChildNodes

                '■レポートタイトルの判断
                If xmlNo.Name.Length >= 5 AndAlso _
                    xmlNo.Name.Substring(0, 5).Equals("Title") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□レポートパターンの生成
                    Call SetReport(xmlNo.NamespaceURI)

                    '■レポート内容の判断
                ElseIf xmlNo.Name.Length >= 6 AndAlso _
                        xmlNo.Name.Substring(0, 6).Equals("Naiyou") AndAlso _
                        xmlNo.NodeType = XmlNodeType.Element Then

                    '□レポート内容を画面に表示する
                    Me.tabReport.TabPages("tbPage" & (Me.tabReport.TabCount - 1).ToString). _
                            Controls("txtReport").Text &= _
                            xmlNo.NamespaceURI & Constants.vbCrLf

                    '■件数1の判断
                ElseIf xmlNo.Name.Equals("Count1") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□件数1の表示
                    txtKensuu1.Text = xmlNo.NamespaceURI

                    '■件数2の判断
                ElseIf xmlNo.Name.Equals("Count2") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□件数2の表示
                    txtKensuu2.Text = xmlNo.NamespaceURI

                    '■サッバタイトル1の判断
                ElseIf xmlNo.Name.Equals("SubTitle1") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□サッバタイトル1の表示
                    Me.tabReport.TabPages("tbPage" & (Me.tabReport.TabCount - 1).ToString). _
                           Controls("txtBusyo0").Text &= _
                           xmlNo.NamespaceURI

                    '■サッバタイトル2の判断
                ElseIf xmlNo.Name.Equals("SubTitle2") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□サッバタイトル2の表示
                    Me.tabReport.TabPages("tbPage" & (Me.tabReport.TabCount - 1).ToString). _
                          Controls("txtBusyo1").Text &= _
                          xmlNo.NamespaceURI

                End If

                '■XMLファイルにより日報の表示
                Call SetNode(xmlNo)

            Next


        Catch ex As Exception

            MsgBox(ex.ToString, , "ReadRep()失敗")

        Finally
            xmlDoc = Nothing
        End Try

    End Sub

    ''' <summary>
    ''' XMLファイルノードの遍歴
    ''' </summary>
    ''' <param name="pXmlNo"></param>
    ''' <remarks></remarks>
    Private Sub SetNode(ByVal pXmlNo As XmlNode)
        Try

            For Each xmlNo As XmlNode In pXmlNo.ChildNodes

                '■レポートタイトルの判断
                If xmlNo.Name.Length >= 5 AndAlso _
                    xmlNo.Name.Substring(0, 5).Equals("Title") AndAlso _
                    xmlNo.NodeType = XmlNodeType.Element Then

                    '□レポートパターンの生成
                    Call SetReport(xmlNo.NamespaceURI)

                    '■レポート内容の判断
                ElseIf xmlNo.Name.Length >= 6 AndAlso _
                        xmlNo.Name.Substring(0, 6).Equals("Naiyou") AndAlso _
                        xmlNo.NodeType = XmlNodeType.Element Then

                    '□レポート内容を画面に表示する
                    Me.tabReport.TabPages("tbPage" & (Me.tabReport.TabCount - 1).ToString). _

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -