Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 17.35 KB | None | 0 0
  1. Imports System.Xml
  2. Structure TEvents
  3.         Dim Name As String
  4.         Dim EventDate As Date
  5.         <VBFixedString(5)> Dim StartTime As String
  6.         <VBFixedString(5)> Dim EndTime As String
  7.         Dim NonC As Boolean
  8.         Dim Reminder As Boolean
  9.     End Structure
  10.     Public Class MainBackground
  11.     '******************************************************************************************************
  12.     '*************************************** Start Movesubs ***********************************************
  13.     '******************************************************************************************************
  14.     Private Sub MoveWeather(groupbox As Object, Click As MouseEventArgs) Handles GRB_M1_Weather.MouseMove
  15.         Dim MousePos As New Point
  16.         If Click.Button = Windows.Forms.MouseButtons.Right Then
  17.             MousePos = MousePosition
  18.             groupbox.Location = MousePos
  19.         End If
  20.     End Sub
  21.     Private Sub MoveSpotify(picturebox As Object, Click As MouseEventArgs) Handles PBx_M1_Spotify.MouseMove
  22.         Dim MousePos As New Point
  23.         If Click.Button = Windows.Forms.MouseButtons.Right Then
  24.             MousePos = MousePosition
  25.             picturebox.Location = MousePos
  26.         End If
  27.     End Sub
  28.     Private Sub MoveListBox(ListBox As Object, Click As MouseEventArgs) Handles GBx_M1_DaySched.MouseMove
  29.         Dim MousePos As New Point
  30.         If Click.Button = Windows.Forms.MouseButtons.Right Then
  31.             MousePos = MousePosition
  32.             ListBox.Location = MousePos
  33.         End If
  34.     End Sub
  35.     Private Sub MoveCalender(Calender As Object, Click As MouseEventArgs) Handles MCal_M1.MouseMove
  36.         Dim MousePos As New Point
  37.         If Click.Button = Windows.Forms.MouseButtons.Right Then
  38.             MousePos = MousePosition
  39.             Calender.Location = MousePos
  40.         End If
  41.     End Sub
  42.     '******************************************************************************************************
  43.     '***************************************  End Movesubs  ***********************************************
  44.     '******************************************************************************************************
  45.  
  46.     'Save Locations
  47.     Private Sub Save_Locations(ByVal sender As Object, ByVal e As EventArgs)
  48.         Dim writer As New XmlTextWriter("posistions.xml", System.Text.Encoding.UTF8)
  49.         writer.WriteStartDocument(True)
  50.         writer.Formatting = Formatting.Indented
  51.         writer.Indentation = 2
  52.         writer.WriteStartElement("Table")
  53.         Create_Location_Node("weather", PBx_M1_Weather1.Location.X, PBx_M1_Weather1.Location.Y, writer)
  54.         Create_Location_Node("spotify", PBx_M1_Spotify.Location.X, PBx_M1_Spotify.Location.Y, writer)
  55.         Create_Location_Node("Calender", MCal_M1.Location.X, MCal_M1.Location.Y, writer)
  56.         Create_Location_Node("today", GBx_M1_DaySched.Location.X, GBx_M1_DaySched.Location.Y, writer)
  57.         writer.WriteEndElement()
  58.         writer.WriteEndDocument()
  59.         writer.Close()
  60.     End Sub
  61.     Private Sub Create_Location_Node(ByVal Name As String, ByVal COX As Short, ByVal COY As Short, ByVal writer As XmlTextWriter)
  62.         With writer
  63.             .WriteStartElement("Object")
  64.             .WriteString(Name)
  65.             .WriteEndElement()
  66.             .WriteStartElement("X coordinate")
  67.             .WriteString(COX)
  68.             .WriteEndElement()
  69.             .WriteStartElement("Y coordinate")
  70.             .WriteString(COY)
  71.             .WriteEndElement()
  72.             .WriteEndElement()
  73.         End With
  74.     End Sub
  75.     'end save locations
  76.     '-----------------------------------------------------------------------------------------------------------------------------------
  77.     'Start save events
  78.     Private Sub Save_Events(ByVal sender As System.Object, ByVal e As System.EventArgs, ByVal events() As TEvents)
  79.         Dim writer As New XmlTextWriter("Events.xml", System.Text.Encoding.UTF8)
  80.         Dim i As Short
  81.         writer.WriteStartDocument(True)
  82.         writer.Formatting = Formatting.Indented
  83.         writer.Indentation = 2
  84.         writer.WriteStartElement("Table")
  85.         For i = 0 To events.Length - 1
  86.                 Create_Event_Node(events(i).Name, events(i).EventDate, events(i).StartTime, events(i).EndTime, events(i).NonC, events(i).Reminder, writer)
  87.             Next i
  88.         writer.WriteEndElement()
  89.         writer.WriteEndDocument()
  90.         writer.Close()
  91.     End Sub
  92.         Private Sub Create_Event_Node(ByVal Name As String, ByVal EDate As Date, ByVal Start As String, ByVal EndTime As String, ByVal NonC As Boolean, ByVal Reminder As Boolean, ByVal writer As XmlTextWriter)
  93.             With writer
  94.                 .WriteStartElement("Event")
  95.                 .WriteString(Name)
  96.                 .WriteStartElement("Date")
  97.                 .WriteString(EDate)
  98.                 .WriteEndElement()
  99.                 .WriteStartElement("Start time")
  100.                 .WriteString(Start)
  101.                 .WriteEndElement()
  102.                 .WriteStartElement("End time")
  103.                 .WriteString(EndTime)
  104.                 .WriteEndElement()
  105.                 .WriteStartElement("Non Conflict")
  106.                 .WriteString(NonC)
  107.                 .WriteEndElement()
  108.                 .WriteStartElement("Reminder")
  109.                 .WriteString(Reminder)
  110.                 .WriteEndElement()
  111.                 .WriteEndElement()
  112.             End With
  113.         End Sub
  114.         'end save events
  115.         'read events
  116.         Private Sub Update_Event_Arr(ByRef events() As TEvents, ByVal temp As TEvents, ByVal counter As Short)
  117.         Dim Temp2(events.Length + 1) As TEvents
  118.         Dim i As Short
  119.         Temp2(counter) = temp
  120.         For i = 0 To counter - 1
  121.             Temp2(i) = events(i)
  122.         Next i
  123.         ReDim events(counter)
  124.         For i = 0 To counter
  125.             events(i) = Temp2(i)
  126.         Next i
  127.     End Sub
  128.     Private Sub Read_Events(ByRef events() As TEvents)
  129.         Dim i As Short
  130.         Dim temp As TEvents
  131.         Dim Doc As New XmlDocument
  132.         Doc.LoadXml("Events.xml")
  133.         Dim List_Events As XmlNodeList = Doc.GetElementsByTagName("Event")
  134.         Dim List_Date As XmlNodeList = Doc.GetElementsByTagName("Date")
  135.         Dim List_Start_Time As XmlNodeList = Doc.GetElementsByTagName("Start time")
  136.         Dim List_End_Time As XmlNodeList = Doc.GetElementsByTagName("End time")
  137.         Dim List_Conflict As XmlNodeList = Doc.GetElementsByTagName("Non Conflict")
  138.         Dim List_Reminder As XmlNodeList = Doc.GetElementsByTagName("Reminder")
  139.         For i = 0 To List_Events.Count - 1
  140.             With temp
  141.                 .Name = List_Events(i).InnerXml
  142.                 .EventDate = List_Date(i).InnerXml
  143.                 .StartTime = List_Start_Time(i).InnerXml
  144.                 .EndTime = List_End_Time(i).InnerXml
  145.                 .NonC = List_Conflict(i).InnerXml
  146.             End With
  147.         Next i
  148.         Call Update_Event_Arr(events, temp, events.Length)
  149.     End Sub
  150.     'end read events
  151.     Private Sub MainBackground_Load(sender As Object, e As EventArgs) Handles Me.Load
  152.         'this sub should eb used to populate the arrays and start the base calls to build the page
  153.         Dim events(3) As TEvents
  154.     End Sub
  155.  
  156.     'fill the box with the events on the selected date
  157.     Private Sub MCal_M1_DateSelected(sender As Object, e As DateRangeEventArgs) Handles MCal_M1.DateSelected
  158.         'use items .add with a sorts to find the events with the correct date then sort by time, do something kwith the conficts.
  159.         Dim events(3) As TEvents
  160.         Dim Chosen_Events(3) As TEvents
  161.         Call Read_Events(events)
  162.         Chosen_Events = Find_Event_by_date(events, MCal_M1.SelectionStart)
  163.         'order the events
  164.         Call Update_Event_Box(Chosen_Events)
  165.     End Sub
  166.     Private Sub Update_Event_Box(ByVal Events() As TEvents)
  167.         Dim i As Short
  168.         For i = 1 To Events.Length
  169.             LBx_M1_DaySched.Items.Add(Get_LB_String(Events(i)))
  170.         Next i
  171.         LBx_M1_DaySched.Items.Add("New event")
  172.     End Sub
  173.     Private Function Get_LB_String(ByVal Events As TEvents) As String
  174.         Return Events.StartTime.ToString & "|  " & Events.Name.ToString & "  |" & Events.EndTime.ToString
  175.     End Function
  176.     Private Function Find_Event_by_date(ByVal events() As TEvents, ByVal DayDate As Date) As TEvents()
  177.         Dim i, j As Short
  178.         Dim Chosen_events(3), temp As TEvents
  179.         Dim temp2 As String
  180.         For i = 1 To events.Length
  181.             If events(i).EventDate = DayDate Then
  182.                 temp = events(i)
  183.                 Update_Event_Arr(Chosen_events, temp, j)
  184.                 j += 1
  185.             End If
  186.         Next i
  187.         Return Chosen_events
  188.     End Function
  189.     Private Function Find_Event_by_Name(ByVal events() As TEvents, ByVal EName As String)
  190.         Dim i, j As Short
  191.         Dim Chosen_events(3), temp As TEvents
  192.         Dim temp2 As String
  193.         For i = 1 To events.Length
  194.             If events(i).EventDate = EName Then
  195.                 temp = events(i)
  196.                 Update_Event_Arr(Chosen_events, temp, j)
  197.                 j += 1
  198.             End If
  199.         Next i
  200.         Return Chosen_events
  201.     End Function
  202.     Private Function Get_Event_NameLbx(ByVal Instring As String)
  203.         Dim i As Short
  204.         Dim OutString As String
  205.         For i = 8 To Instring.Length - 10
  206.             OutString = OutString & Instring.Substring(i, 1)
  207.         Next i
  208.         Return outstring
  209.     End Function
  210.     Private Sub LBx_M1_DaySched_Click(sender As Object, e As EventArgs) Handles LBx_M1_DaySched.Click
  211.         Dim temp, EventName As String
  212.         Dim events(3), First_filter_event(3), Chosen_Event(3) As TEvents
  213.         Call Read_Events(events)
  214.         temp = LBx_M1_DaySched.SelectedItem
  215.         If Not temp.ToUpper = "NEW EVENT" Then
  216.             EventName = Get_Event_NameLbx(temp)
  217.             First_filter_event = Find_Event_by_Name(events, EventName)
  218.             Chosen_Event = Find_Event_by_date(First_filter_event, MCal_M1.SelectionStart)
  219.             'now save the chosen event to a text file for the add event to read from.
  220.         End If
  221.     End Sub
  222.     'end fill listbox
  223.  
  224. End Class
  225.  
  226. Public Class v
  227.     'drop a text file witht the options in it then load up and populate the lbx you need to have a preview screen.
  228.     Private Sub v_Load(sender As Object, e As EventArgs) Handles Me.Load
  229.         Dim array(13) As String
  230.         Call Read_Items(array)
  231.         Call Update_CLBX(array)
  232.     End Sub
  233.     '************************************************************************************************************************
  234.     '************************************************************************************************************************
  235.     '************************************************************************************************************************
  236.     Private Function Read_Items(ByVal array() As String)
  237.         Dim i As Short
  238.         'drop a file location
  239.         FileOpen(1, "Items.txt", OpenMode.Input)
  240.         While Not EOF(1)
  241.             i += 1
  242.             array(i) = LineInput(1)
  243.         End While
  244.         FileClose(1)
  245.             Return array
  246.     End Function
  247.     Private Sub Update_CLBX(ByVal ItemsArr() As String)
  248.         Dim i As Short
  249.         For i = 1 To 14
  250.             CLBX_M1_Objects.Items.Add(ItemsArr(i))
  251.         Next i
  252.     End Sub
  253.     Private Sub CLBX_M1_Objects_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CLBX_M1_Objects.ItemCheck
  254.         Dim i As Short
  255.         Dim array(13) As String
  256.         Call Read_Items(array)
  257.         Call Update_CLBX(array)
  258.         For i = 0 To 13
  259.             If CLBX_M1_Objects.GetItemChecked(i) = True Then
  260.                 'insert show pic for this
  261.                 Select Case i
  262.                     Case 0
  263.                 End Select
  264.             End If
  265.         Next i
  266.     End Sub
  267.     Private Sub CLBX_M1_Objects_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CLBX_M1_Objects.SelectedIndexChanged
  268.  
  269.     End Sub
  270. End Class
  271.  
  272.  
  273. Imports System.Xml
  274. Public Class AddEvent
  275.     Structure TEvents
  276.         Dim Name As String
  277.         Dim EventDate As Date
  278.         <VBFixedString(5)> Dim StartTime As String
  279.         <VBFixedString(5)> Dim EndTime As String
  280.         Dim NonC As Boolean
  281.         Dim Reminder As Boolean
  282.     End Structure
  283.     Private Sub AddEvent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  284.         Dim INevent, events(3) As TEvents
  285.         Dim i As Short
  286.         i = Get_I()
  287.         Call Read_Events(events)
  288.         INevent = Read_Select_Event(events, i)
  289.     End Sub
  290.     Private Function Read_Select_Event(ByRef events() As TEvents, ByVal i As Short)
  291.         Return events(i)
  292.     End Function
  293.     Private Function Get_I()
  294.         Dim i As Short
  295.         'drop a file location
  296.         FileOpen(1, "Items.txt", OpenMode.Input)
  297.         i = LineInput(1)
  298.         FileClose(1)
  299.         Return i
  300.     End Function
  301.     'fill the boxes and build the front end with data
  302.     Private Sub Populate_Page(ByVal INevent As TEvents)
  303.         If Not INevent.Name = "" Then
  304.             Tbx_EventName.Text = INevent.Name
  305.             Tbx_End_Time.Text = INevent.EndTime
  306.             Tbx_Start_Time.Text = INevent.StartTime
  307.             Tbx_EventDate.Text = INevent.EventDate.ToString
  308.             CBx_reminder.Checked = INevent.Reminder
  309.             M1_CBx_NonC.Checked = INevent.NonC
  310.         End If
  311.     End Sub
  312.     Private Sub Btn_Submit_Click(sender As Object, e As EventArgs) Handles Btn_Submit.Click
  313.         Dim INevent, events(3), Chosen_events(3) As TEvents
  314.         Call Read_Events(events)
  315.         Dim i, j As Short
  316.         Dim Event_Names As String
  317.         If M1_CBx_NonC.Checked = False Then
  318.             i = Get_I()
  319.             INevent = Read_Select_Event(events, i)
  320.             Chosen_events = Find_Event_by_date(events, INevent.EventDate)
  321.             'nedd to check it doesnt overlap by time
  322.             For j = 1 To events.Length
  323.                 If Check_Times(events, INevent, j) = True Then
  324.                     Event_Names = Event_Names & "," & events(j).Name
  325.                 End If
  326.             Next j
  327.         End If
  328.         MessageBox.Show("This is an invalid time as the new event clashes with the following existing events: " & Event_Names, "Invalid input", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
  329.     End Sub
  330.     Private Function Check_Times(ByVal events() As TEvents, ByVal INevent As TEvents, ByVal Counter As Short)
  331.         Dim Start, Ending, Comp_Start, Comp_End As Short
  332.         Dim overlap As Boolean = False
  333.         Start = Get_Minute_times(INevent, False)
  334.         Ending = Get_Minute_times(INevent, True)
  335.         Comp_Start = Get_Minute_times(events(Counter), False)
  336.         Comp_End = Get_Minute_times(events(Counter), True)
  337.         If Comp_End > Start Or Ending < Comp_Start Then
  338.             overlap = True
  339.         End If
  340.         Return overlap
  341.     End Function
  342.     Private Function Get_Hour(ByVal Input As String)
  343.         Return Input.Substring(0, 2)
  344.     End Function
  345.     Private Function Get_Minute(ByVal Input As String)
  346.         Return Input.Substring(3, 2)
  347.     End Function
  348.     Private Function Get_Minute_times(ByVal event1 As TEvents, ByVal EndT As Boolean)
  349.         If EndT = False Then : Return (Get_Hour(event1.StartTime) * 60) + Get_Minute(event1.StartTime)
  350.         Else : Return (Get_Hour(event1.EndTime) * 60) + Get_Minute(event1.EndTime)
  351.         End If
  352.     End Function
  353.     Private Function Find_Event_by_date(ByVal events() As TEvents, ByVal DayDate As Date) As TEvents()
  354.         Dim i, j As Short
  355.         Dim Chosen_events(3), temp As TEvents
  356.         Dim temp2 As String
  357.         For i = 1 To events.Length
  358.             If events(i).EventDate = DayDate Then
  359.                 temp = events(i)
  360.                 If events(i).NonC = False Then
  361.                     Update_Event_Arr(Chosen_events, temp, j)
  362.                     j += 1
  363.                 End If
  364.             End If
  365.         Next i
  366.         Return Chosen_events
  367.     End Function
  368.  
  369.     Private Sub Update_Event_Arr(ByRef events() As TEvents, ByVal temp As TEvents, ByVal counter As Short)
  370.         Dim Temp2(events.Length + 1) As TEvents
  371.         Dim i As Short
  372.         Temp2(counter) = temp
  373.         For i = 0 To counter - 1
  374.             Temp2(i) = events(i)
  375.         Next i
  376.         ReDim events(counter)
  377.         For i = 0 To counter
  378.             events(i) = Temp2(i)
  379.         Next i
  380.     End Sub
  381.     Private Sub Read_Events(ByRef events() As TEvents)
  382.         Dim i As Short
  383.         Dim temp As TEvents
  384.         Dim Doc As New XmlDocument
  385.         Doc.LoadXml("Events.xml")
  386.         Dim List_Events As XmlNodeList = Doc.GetElementsByTagName("Event")
  387.         Dim List_Date As XmlNodeList = Doc.GetElementsByTagName("Date")
  388.         Dim List_Start_Time As XmlNodeList = Doc.GetElementsByTagName("Start time")
  389.         Dim List_End_Time As XmlNodeList = Doc.GetElementsByTagName("End time")
  390.         Dim List_Conflict As XmlNodeList = Doc.GetElementsByTagName("Non Conflict")
  391.         Dim List_Reminder As XmlNodeList = Doc.GetElementsByTagName("Reminder")
  392.         For i = 0 To List_Events.Count - 1
  393.             With temp
  394.                 .Name = List_Events(i).InnerXml
  395.                 .EventDate = List_Date(i).InnerXml
  396.                 .StartTime = List_Start_Time(i).InnerXml
  397.                 .EndTime = List_End_Time(i).InnerXml
  398.                 .NonC = List_Conflict(i).InnerXml
  399.             End With
  400.         Next i
  401.     End Sub
  402.  
  403. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement