You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

660 lines
24 KiB

Imports C1.Win.C1TrueDBGrid
Imports System.IO
Imports System.IO.Stream
Imports System.Drawing
Imports System.Xml
Imports ColorCode
Public Class frmData
Dim OnLoad As Boolean = True
Dim data As New DB
Dim dbco As New DB_Connection
Private Sub frmData_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.ComboBox1.SelectedIndex = 0
Me.ComboBox2.SelectedIndex = 0
Me.ComboBox3.SelectedIndex = 0
Me.ComboBox4.SelectedIndex = 0
Me.ComboBox5.SelectedIndex = 0
Me.ComboBox6.SelectedIndex = 0
OnLoad = False
Get_Data(1)
End Sub
Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
If OnLoad Then Exit Sub
If Me.RadioButton1.Checked = True Then
Get_Data(1)
Me.gpEDKLog.Enabled = True
Me.gpEDKData.Enabled = False
Else
Me.gpEDKLog.Enabled = False
Me.gpEDKData.Enabled = True
End If
End Sub
Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged
If OnLoad Then Exit Sub
If Me.RadioButton2.Checked = True Then
Get_Data(2)
Me.gpEDKLog.Enabled = False
Me.gpEDKData.Enabled = True
Else
Me.gpEDKLog.Enabled = True
Me.gpEDKData.Enabled = False
End If
End Sub
Sub Get_Data(ByVal Typ As Integer)
Me.C1Daten.Columns.Clear()
data.dsDaten.Tables.Clear()
Me.RichTextBox1.Text = ""
Me.WebBrowser1.DocumentText = ""
If Typ < 3 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
If C1Daten.Columns(i).DataType.Name = "DateTime" Then
C1Daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss.fff"
End If
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 3 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
sql = sql + " where rowid " + ComboBox2.Text + " " + TextBox1.Text + " "
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 4 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
Dim yy As String = Trim(Str(Year(DateTimePicker1.Value)))
Dim dd As String = Trim(Str(Month(DateTimePicker1.Value)))
Dim mm As String = Trim(Str(Day(DateTimePicker1.Value)))
Dim hh As String = Trim(Str(Hour(DateTimePicker1.Value)))
Dim mi As String = Trim(Str(Minute(DateTimePicker1.Value)))
Dim ss As String = Trim(Str(Second(DateTimePicker1.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
While Len(hh) < 2
hh = "0" + hh
End While
While Len(mi) < 2
mi = "0" + mi
End While
While Len(ss) < 2
ss = "0" + ss
End While
sql = sql + " where insert_timestamp " + ComboBox3.Text + " '" + yy + "-" + mm + "-" + dd + " " + hh + ":" + mi + ":" + ss + "'"
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 5 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
Dim yy As String = Trim(Str(Year(DateTimePicker1.Value)))
Dim dd As String = Trim(Str(Month(DateTimePicker1.Value)))
Dim mm As String = Trim(Str(Day(DateTimePicker1.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
sql = sql + " where mitarbeiternr " + ComboBox4.Text + " " + Me.TextBox2.Text
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 6 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
Dim yy As String = Trim(Str(Year(DateTimePicker1.Value)))
Dim dd As String = Trim(Str(Month(DateTimePicker1.Value)))
Dim mm As String = Trim(Str(Day(DateTimePicker1.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
If ComboBox5.Text = "Like" Then
sql = sql + " where filename like '%" + TextBox3.Text + "%'"
Else
sql = sql + " where filename ='" + TextBox3.Text + "'"
End If
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 7 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
Dim yy As String = Trim(Str(Year(DateTimePicker1.Value)))
Dim dd As String = Trim(Str(Month(DateTimePicker1.Value)))
Dim mm As String = Trim(Str(Day(DateTimePicker1.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
sql = sql + " where tgnummer " + ComboBox6.Text + " '" + Me.TextBox4.Text + "'"
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
If Typ = 8 Then
Try
If Me.RadioButton1.Checked = True Then Typ = 1
If Me.RadioButton2.Checked = True Then Typ = 2
Dim sql As String
sql = "Select "
If IsNumeric(Me.ComboBox1.Text) Then
sql = sql + "top " + Me.ComboBox1.Text + " * "
End If
Select Case Typ
Case 1
sql = sql + " from dbo.edk_log"
Case 2
sql = sql + " from dbo.edk_data"
End Select
Dim yy As String = Trim(Str(Year(DateTimePicker2.Value)))
Dim dd As String = Trim(Str(Month(DateTimePicker2.Value)))
Dim mm As String = Trim(Str(Day(DateTimePicker2.Value)))
Dim hh As String = Trim(Str(Hour(DateTimePicker2.Value)))
Dim mi As String = Trim(Str(Minute(DateTimePicker2.Value)))
Dim ss As String = Trim(Str(Second(DateTimePicker2.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
While Len(hh) < 2
hh = "0" + hh
End While
While Len(mi) < 2
mi = "0" + mi
End While
While Len(ss) < 2
ss = "0" + ss
End While
sql = sql + " where insert_timestamp >= '" + yy + "-" + mm + "-" + dd + " " + hh + ":" + mi + ":" + ss + "'"
yy = Trim(Str(Year(DateTimePicker3.Value)))
dd = Trim(Str(Month(DateTimePicker3.Value)))
mm = Trim(Str(Day(DateTimePicker3.Value)))
hh = Trim(Str(Hour(DateTimePicker3.Value)))
mi = Trim(Str(Minute(DateTimePicker3.Value)))
ss = Trim(Str(Second(DateTimePicker3.Value)))
While Len(mm) < 2
mm = "0" + mm
End While
While Len(dd) < 2
dd = "0" + dd
End While
While Len(hh) < 2
hh = "0" + hh
End While
While Len(mi) < 2
mi = "0" + mi
End While
While Len(ss) < 2
ss = "0" + ss
End While
sql = sql + " and insert_timestamp <= '" + yy + "-" + mm + "-" + dd + " " + hh + ":" + mi + ":" + ss + "'"
sql = sql + " order by rowid desc"
data.Get_data(sql)
Me.C1Daten.DataSource = Nothing
Me.C1Daten.DataSource = data.dsDaten.Tables(0)
Me.C1Daten.DataMember = data.dsDaten.Tables(0).TableName
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Try
For i As Integer = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
If C1Daten.Columns(i).DataType.Name = "DateTime" Then
C1Daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss"
End If
Me.C1Daten.Splits(0).DisplayColumns(i).AutoSize()
Next
Catch ex As Exception
End Try
End Sub
Private Sub C1Daten_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Daten.RowColChange
refresh_xml()
End Sub
Sub refresh_xml()
Me.RichTextBox1.Text = ""
Me.WebBrowser1.DocumentText = ""
Try
If Me.CheckBox1.Checked = True Then
Dim row As Integer = Me.C1Daten.Columns("rowid").Value
For Each r As DataRow In data.dsDaten.Tables(0).Rows
If r("rowid") = row Then
'Highlight1(r("xmldata"))
'Exit Sub
Dim s As String
s = UnicodeBytesToString(r("xmldata"))
Me.RichTextBox1.Text = s
Dim colorizedSourceCode As String = New CodeColorizer().Colorize(s, Languages.Xml)
Me.WebBrowser1.DocumentText = colorizedSourceCode
'Me.RichTextBox1.Text = UnicodeBytesToString(r("xmldata"))
'Dim s As String
's = UnicodeBytesToString(r("xmldata"))
'AddColouredText(s)
Exit Sub
End If
Next
End If
Catch
End Try
End Sub
Private Function UnicodeBytesToString(ByVal bytes() As Byte) As String
Dim ms As New MemoryStream(bytes)
Return System.Text.Encoding.ASCII.GetString(bytes)
ms.Dispose()
''Return UBound(bytes)
'Return System.Text.Encoding.Unicode.GetString(bytes)
End Function
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If Me.CheckBox1.Checked = False Then
Me.RichTextBox1.Text = ""
Me.WebBrowser1.DocumentText = ""
Else
refresh_xml()
End If
End Sub
Sub Highlight1(ByVal bytes() As Byte)
Dim ms As New MemoryStream(bytes)
Dim reader As New XmlTextReader(ms)
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
' The node is an element.
Me.RichTextBox1.SelectionColor = Color.Blue
Me.RichTextBox1.AppendText("<")
Me.RichTextBox1.SelectionColor = Color.Brown
Me.RichTextBox1.AppendText(reader.Name)
Me.RichTextBox1.SelectionColor = Color.Blue
Me.RichTextBox1.AppendText(">")
Exit Select
Case XmlNodeType.Text
'Display the text in each element.
Me.RichTextBox1.SelectionColor = Color.Black
Me.RichTextBox1.AppendText(reader.Value)
Exit Select
Case XmlNodeType.EndElement
'Display the end of the element.
Me.RichTextBox1.SelectionColor = Color.Blue
Me.RichTextBox1.AppendText("</")
Me.RichTextBox1.SelectionColor = Color.Brown
Me.RichTextBox1.AppendText(reader.Name)
Me.RichTextBox1.SelectionColor = Color.Blue
Me.RichTextBox1.AppendText(">")
Me.RichTextBox1.AppendText(vbLf)
Exit Select
End Select
End While
End Sub
Private Sub AddColouredText(strTextToAdd As String)
'Use the RichTextBox to create the initial RTF code
RichTextBox1.Clear()
RichTextBox1.Text = strTextToAdd
Dim strRTF As String = RichTextBox1.Rtf
RichTextBox1.Clear()
'
' * ADD COLOUR TABLE TO THE HEADER FIRST
' *
' Search for colour table info, if it exists (which it shouldn't)
' remove it and replace with our one
Dim iCTableStart As Integer = strRTF.IndexOf("colortbl;")
If iCTableStart <> -1 Then
'then colortbl exists
'find end of colortbl tab by searching
'forward from the colortbl tab itself
Dim iCTableEnd As Integer = strRTF.IndexOf("}"c, iCTableStart)
strRTF = strRTF.Remove(iCTableStart, iCTableEnd - iCTableStart)
'now insert new colour table at index of old colortbl tag
' CHANGE THIS STRING TO ALTER COLOUR TABLE
strRTF = strRTF.Insert(iCTableStart, "colortbl ;\red255\green0\blue0;\red0\green128\blue0;\red0\green0\blue255;}")
Else
'colour table doesn't exist yet, so let's make one
' find index of start of header
Dim iRTFLoc As Integer = strRTF.IndexOf("\rtf")
' get index of where we'll insert the colour table
' try finding opening bracket of first property of header first
Dim iInsertLoc As Integer = strRTF.IndexOf("{"c, iRTFLoc)
' if there is no property, we'll insert colour table
' just before the end bracket of the header
If iInsertLoc = -1 Then
iInsertLoc = strRTF.IndexOf("}"c, iRTFLoc) - 1
End If
' insert the colour table at our chosen location
' CHANGE THIS STRING TO ALTER COLOUR TABLE
strRTF = strRTF.Insert(iInsertLoc, "{\colortbl ;\red128\green0\blue0;\red0\green128\blue0;\red0\green0\blue255;}")
End If
'
' * NOW PARSE THROUGH RTF DATA, ADDING RTF COLOUR TAGS WHERE WE WANT THEM
' * In our colour table we defined:
' * cf1 = red
' * cf2 = green
' * cf3 = blue
' *
For i As Integer = 0 To strRTF.Length - 1
If strRTF(i) = "<"c Then
'add RTF tags after symbol
'Check for comments tags
If strRTF(i + 1) = "!"c Then
strRTF = strRTF.Insert(i + 4, "\cf2 ")
Else
strRTF = strRTF.Insert(i + 1, "\cf1 ")
End If
'add RTF before symbol
strRTF = strRTF.Insert(i, "\cf3 ")
'skip forward past the characters we've just added
'to avoid getting trapped in the loop
i += 6
ElseIf strRTF(i) = ">"c Then
'add RTF tags after character
strRTF = strRTF.Insert(i + 1, "\cf0 ")
'Check for comments tags
If strRTF(i - 1) = "-"c Then
strRTF = strRTF.Insert(i - 2, "\cf3 ")
'skip forward past the 6 characters we've just added
i += 8
Else
strRTF = strRTF.Insert(i, "\cf3 ")
'skip forward past the 6 characters we've just added
i += 6
End If
End If
Next
RichTextBox1.Rtf = strRTF
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
Try
Dim x = System.Xml.Linq.XDocument.Parse(Me.RichTextBox1.Text)
MsgBox("XML-Parser erfolgreich")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Fehlerhaftes XML")
End Try
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
Me.SaveFileDialog1.ShowDialog()
If Me.SaveFileDialog1.FileName <> "" Then
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter(Me.SaveFileDialog1.FileName, True)
file.Write(Me.RichTextBox1.Text)
file.Flush()
file.Close()
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.Leave, ComboBox1.SelectedIndexChanged
Try
Me.Get_Data(0)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Get_Data(3)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Get_Data(4)
End Sub
Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox5.SelectedIndexChanged
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Get_Data(5)
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Get_Data(6)
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Get_Data(7)
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Get_Data(8)
End Sub
Private Sub DateTimePicker1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DateTimePicker1.KeyDown, DateTimePicker2.KeyDown, DateTimePicker3.KeyDown
If e.Modifiers = System.Windows.Forms.Keys.Control AndAlso e.KeyCode = System.Windows.Forms.Keys.V Then
Try
sender.VALUE = System.Windows.Forms.Clipboard.GetText()
'Me.DateTimePicker1.Value = System.Windows.Forms.Clipboard.GetText()
'MsgBox(System.Windows.Forms.Clipboard.GetText())
Catch ex As Exception
End Try
End If
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
Me.Get_Data(1)
End Sub
End Class