Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Xml
- Structure TEvents
- Dim Name As String
- Dim EventDate As Date
- <VBFixedString(5)> Dim StartTime As String
- <VBFixedString(5)> Dim EndTime As String
- Dim NonC As Boolean
- Dim Reminder As Boolean
- End Structure
- Public Class MainBackground
- '******************************************************************************************************
- '*************************************** Start Movesubs ***********************************************
- '******************************************************************************************************
- Private Sub MoveWeather(groupbox As Object, Click As MouseEventArgs) Handles GRB_M1_Weather.MouseMove
- Dim MousePos As New Point
- If Click.Button = Windows.Forms.MouseButtons.Right Then
- MousePos = MousePosition
- groupbox.Location = MousePos
- End If
- End Sub
- Private Sub MoveSpotify(picturebox As Object, Click As MouseEventArgs) Handles PBx_M1_Spotify.MouseMove
- Dim MousePos As New Point
- If Click.Button = Windows.Forms.MouseButtons.Right Then
- MousePos = MousePosition
- picturebox.Location = MousePos
- End If
- End Sub
- Private Sub MoveListBox(ListBox As Object, Click As MouseEventArgs) Handles GBx_M1_DaySched.MouseMove
- Dim MousePos As New Point
- If Click.Button = Windows.Forms.MouseButtons.Right Then
- MousePos = MousePosition
- ListBox.Location = MousePos
- End If
- End Sub
- Private Sub MoveCalender(Calender As Object, Click As MouseEventArgs) Handles MCal_M1.MouseMove
- Dim MousePos As New Point
- If Click.Button = Windows.Forms.MouseButtons.Right Then
- MousePos = MousePosition
- Calender.Location = MousePos
- End If
- End Sub
- '******************************************************************************************************
- '*************************************** End Movesubs ***********************************************
- '******************************************************************************************************
- 'Save Locations
- Private Sub Save_Locations(ByVal sender As Object, ByVal e As EventArgs)
- Dim writer As New XmlTextWriter("posistions.xml", System.Text.Encoding.UTF8)
- writer.WriteStartDocument(True)
- writer.Formatting = Formatting.Indented
- writer.Indentation = 2
- writer.WriteStartElement("Table")
- Create_Location_Node("weather", PBx_M1_Weather1.Location.X, PBx_M1_Weather1.Location.Y, writer)
- Create_Location_Node("spotify", PBx_M1_Spotify.Location.X, PBx_M1_Spotify.Location.Y, writer)
- Create_Location_Node("Calender", MCal_M1.Location.X, MCal_M1.Location.Y, writer)
- Create_Location_Node("today", GBx_M1_DaySched.Location.X, GBx_M1_DaySched.Location.Y, writer)
- writer.WriteEndElement()
- writer.WriteEndDocument()
- writer.Close()
- End Sub
- Private Sub Create_Location_Node(ByVal Name As String, ByVal COX As Short, ByVal COY As Short, ByVal writer As XmlTextWriter)
- With writer
- .WriteStartElement("Object")
- .WriteString(Name)
- .WriteEndElement()
- .WriteStartElement("X coordinate")
- .WriteString(COX)
- .WriteEndElement()
- .WriteStartElement("Y coordinate")
- .WriteString(COY)
- .WriteEndElement()
- .WriteEndElement()
- End With
- End Sub
- 'end save locations
- '-----------------------------------------------------------------------------------------------------------------------------------
- 'Start save events
- Private Sub Save_Events(ByVal sender As System.Object, ByVal e As System.EventArgs, ByVal events() As TEvents)
- Dim writer As New XmlTextWriter("Events.xml", System.Text.Encoding.UTF8)
- Dim i As Short
- writer.WriteStartDocument(True)
- writer.Formatting = Formatting.Indented
- writer.Indentation = 2
- writer.WriteStartElement("Table")
- For i = 0 To events.Length - 1
- Create_Event_Node(events(i).Name, events(i).EventDate, events(i).StartTime, events(i).EndTime, events(i).NonC, events(i).Reminder, writer)
- Next i
- writer.WriteEndElement()
- writer.WriteEndDocument()
- writer.Close()
- End Sub
- 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)
- With writer
- .WriteStartElement("Event")
- .WriteString(Name)
- .WriteStartElement("Date")
- .WriteString(EDate)
- .WriteEndElement()
- .WriteStartElement("Start time")
- .WriteString(Start)
- .WriteEndElement()
- .WriteStartElement("End time")
- .WriteString(EndTime)
- .WriteEndElement()
- .WriteStartElement("Non Conflict")
- .WriteString(NonC)
- .WriteEndElement()
- .WriteStartElement("Reminder")
- .WriteString(Reminder)
- .WriteEndElement()
- .WriteEndElement()
- End With
- End Sub
- 'end save events
- 'read events
- Private Sub Update_Event_Arr(ByRef events() As TEvents, ByVal temp As TEvents, ByVal counter As Short)
- Dim Temp2(events.Length + 1) As TEvents
- Dim i As Short
- Temp2(counter) = temp
- For i = 0 To counter - 1
- Temp2(i) = events(i)
- Next i
- ReDim events(counter)
- For i = 0 To counter
- events(i) = Temp2(i)
- Next i
- End Sub
- Private Sub Read_Events(ByRef events() As TEvents)
- Dim i As Short
- Dim temp As TEvents
- Dim Doc As New XmlDocument
- Doc.LoadXml("Events.xml")
- Dim List_Events As XmlNodeList = Doc.GetElementsByTagName("Event")
- Dim List_Date As XmlNodeList = Doc.GetElementsByTagName("Date")
- Dim List_Start_Time As XmlNodeList = Doc.GetElementsByTagName("Start time")
- Dim List_End_Time As XmlNodeList = Doc.GetElementsByTagName("End time")
- Dim List_Conflict As XmlNodeList = Doc.GetElementsByTagName("Non Conflict")
- Dim List_Reminder As XmlNodeList = Doc.GetElementsByTagName("Reminder")
- For i = 0 To List_Events.Count - 1
- With temp
- .Name = List_Events(i).InnerXml
- .EventDate = List_Date(i).InnerXml
- .StartTime = List_Start_Time(i).InnerXml
- .EndTime = List_End_Time(i).InnerXml
- .NonC = List_Conflict(i).InnerXml
- End With
- Next i
- Call Update_Event_Arr(events, temp, events.Length)
- End Sub
- 'end read events
- Private Sub MainBackground_Load(sender As Object, e As EventArgs) Handles Me.Load
- 'this sub should eb used to populate the arrays and start the base calls to build the page
- Dim events(3) As TEvents
- End Sub
- 'fill the box with the events on the selected date
- Private Sub MCal_M1_DateSelected(sender As Object, e As DateRangeEventArgs) Handles MCal_M1.DateSelected
- 'use items .add with a sorts to find the events with the correct date then sort by time, do something kwith the conficts.
- Dim events(3) As TEvents
- Dim Chosen_Events(3) As TEvents
- Call Read_Events(events)
- Chosen_Events = Find_Event_by_date(events, MCal_M1.SelectionStart)
- 'order the events
- Call Update_Event_Box(Chosen_Events)
- End Sub
- Private Sub Update_Event_Box(ByVal Events() As TEvents)
- Dim i As Short
- For i = 1 To Events.Length
- LBx_M1_DaySched.Items.Add(Get_LB_String(Events(i)))
- Next i
- LBx_M1_DaySched.Items.Add("New event")
- End Sub
- Private Function Get_LB_String(ByVal Events As TEvents) As String
- Return Events.StartTime.ToString & "| " & Events.Name.ToString & " |" & Events.EndTime.ToString
- End Function
- Private Function Find_Event_by_date(ByVal events() As TEvents, ByVal DayDate As Date) As TEvents()
- Dim i, j As Short
- Dim Chosen_events(3), temp As TEvents
- Dim temp2 As String
- For i = 1 To events.Length
- If events(i).EventDate = DayDate Then
- temp = events(i)
- Update_Event_Arr(Chosen_events, temp, j)
- j += 1
- End If
- Next i
- Return Chosen_events
- End Function
- Private Function Find_Event_by_Name(ByVal events() As TEvents, ByVal EName As String)
- Dim i, j As Short
- Dim Chosen_events(3), temp As TEvents
- Dim temp2 As String
- For i = 1 To events.Length
- If events(i).EventDate = EName Then
- temp = events(i)
- Update_Event_Arr(Chosen_events, temp, j)
- j += 1
- End If
- Next i
- Return Chosen_events
- End Function
- Private Function Get_Event_NameLbx(ByVal Instring As String)
- Dim i As Short
- Dim OutString As String
- For i = 8 To Instring.Length - 10
- OutString = OutString & Instring.Substring(i, 1)
- Next i
- Return outstring
- End Function
- Private Sub LBx_M1_DaySched_Click(sender As Object, e As EventArgs) Handles LBx_M1_DaySched.Click
- Dim temp, EventName As String
- Dim events(3), First_filter_event(3), Chosen_Event(3) As TEvents
- Call Read_Events(events)
- temp = LBx_M1_DaySched.SelectedItem
- If Not temp.ToUpper = "NEW EVENT" Then
- EventName = Get_Event_NameLbx(temp)
- First_filter_event = Find_Event_by_Name(events, EventName)
- Chosen_Event = Find_Event_by_date(First_filter_event, MCal_M1.SelectionStart)
- 'now save the chosen event to a text file for the add event to read from.
- End If
- End Sub
- 'end fill listbox
- End Class
- Public Class v
- 'drop a text file witht the options in it then load up and populate the lbx you need to have a preview screen.
- Private Sub v_Load(sender As Object, e As EventArgs) Handles Me.Load
- Dim array(13) As String
- Call Read_Items(array)
- Call Update_CLBX(array)
- End Sub
- '************************************************************************************************************************
- '************************************************************************************************************************
- '************************************************************************************************************************
- Private Function Read_Items(ByVal array() As String)
- Dim i As Short
- 'drop a file location
- FileOpen(1, "Items.txt", OpenMode.Input)
- While Not EOF(1)
- i += 1
- array(i) = LineInput(1)
- End While
- FileClose(1)
- Return array
- End Function
- Private Sub Update_CLBX(ByVal ItemsArr() As String)
- Dim i As Short
- For i = 1 To 14
- CLBX_M1_Objects.Items.Add(ItemsArr(i))
- Next i
- End Sub
- Private Sub CLBX_M1_Objects_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CLBX_M1_Objects.ItemCheck
- Dim i As Short
- Dim array(13) As String
- Call Read_Items(array)
- Call Update_CLBX(array)
- For i = 0 To 13
- If CLBX_M1_Objects.GetItemChecked(i) = True Then
- 'insert show pic for this
- Select Case i
- Case 0
- End Select
- End If
- Next i
- End Sub
- Private Sub CLBX_M1_Objects_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CLBX_M1_Objects.SelectedIndexChanged
- End Sub
- End Class
- Imports System.Xml
- Public Class AddEvent
- Structure TEvents
- Dim Name As String
- Dim EventDate As Date
- <VBFixedString(5)> Dim StartTime As String
- <VBFixedString(5)> Dim EndTime As String
- Dim NonC As Boolean
- Dim Reminder As Boolean
- End Structure
- Private Sub AddEvent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim INevent, events(3) As TEvents
- Dim i As Short
- i = Get_I()
- Call Read_Events(events)
- INevent = Read_Select_Event(events, i)
- End Sub
- Private Function Read_Select_Event(ByRef events() As TEvents, ByVal i As Short)
- Return events(i)
- End Function
- Private Function Get_I()
- Dim i As Short
- 'drop a file location
- FileOpen(1, "Items.txt", OpenMode.Input)
- i = LineInput(1)
- FileClose(1)
- Return i
- End Function
- 'fill the boxes and build the front end with data
- Private Sub Populate_Page(ByVal INevent As TEvents)
- If Not INevent.Name = "" Then
- Tbx_EventName.Text = INevent.Name
- Tbx_End_Time.Text = INevent.EndTime
- Tbx_Start_Time.Text = INevent.StartTime
- Tbx_EventDate.Text = INevent.EventDate.ToString
- CBx_reminder.Checked = INevent.Reminder
- M1_CBx_NonC.Checked = INevent.NonC
- End If
- End Sub
- Private Sub Btn_Submit_Click(sender As Object, e As EventArgs) Handles Btn_Submit.Click
- Dim INevent, events(3), Chosen_events(3) As TEvents
- Call Read_Events(events)
- Dim i, j As Short
- Dim Event_Names As String
- If M1_CBx_NonC.Checked = False Then
- i = Get_I()
- INevent = Read_Select_Event(events, i)
- Chosen_events = Find_Event_by_date(events, INevent.EventDate)
- 'nedd to check it doesnt overlap by time
- For j = 1 To events.Length
- If Check_Times(events, INevent, j) = True Then
- Event_Names = Event_Names & "," & events(j).Name
- End If
- Next j
- End If
- 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)
- End Sub
- Private Function Check_Times(ByVal events() As TEvents, ByVal INevent As TEvents, ByVal Counter As Short)
- Dim Start, Ending, Comp_Start, Comp_End As Short
- Dim overlap As Boolean = False
- Start = Get_Minute_times(INevent, False)
- Ending = Get_Minute_times(INevent, True)
- Comp_Start = Get_Minute_times(events(Counter), False)
- Comp_End = Get_Minute_times(events(Counter), True)
- If Comp_End > Start Or Ending < Comp_Start Then
- overlap = True
- End If
- Return overlap
- End Function
- Private Function Get_Hour(ByVal Input As String)
- Return Input.Substring(0, 2)
- End Function
- Private Function Get_Minute(ByVal Input As String)
- Return Input.Substring(3, 2)
- End Function
- Private Function Get_Minute_times(ByVal event1 As TEvents, ByVal EndT As Boolean)
- If EndT = False Then : Return (Get_Hour(event1.StartTime) * 60) + Get_Minute(event1.StartTime)
- Else : Return (Get_Hour(event1.EndTime) * 60) + Get_Minute(event1.EndTime)
- End If
- End Function
- Private Function Find_Event_by_date(ByVal events() As TEvents, ByVal DayDate As Date) As TEvents()
- Dim i, j As Short
- Dim Chosen_events(3), temp As TEvents
- Dim temp2 As String
- For i = 1 To events.Length
- If events(i).EventDate = DayDate Then
- temp = events(i)
- If events(i).NonC = False Then
- Update_Event_Arr(Chosen_events, temp, j)
- j += 1
- End If
- End If
- Next i
- Return Chosen_events
- End Function
- Private Sub Update_Event_Arr(ByRef events() As TEvents, ByVal temp As TEvents, ByVal counter As Short)
- Dim Temp2(events.Length + 1) As TEvents
- Dim i As Short
- Temp2(counter) = temp
- For i = 0 To counter - 1
- Temp2(i) = events(i)
- Next i
- ReDim events(counter)
- For i = 0 To counter
- events(i) = Temp2(i)
- Next i
- End Sub
- Private Sub Read_Events(ByRef events() As TEvents)
- Dim i As Short
- Dim temp As TEvents
- Dim Doc As New XmlDocument
- Doc.LoadXml("Events.xml")
- Dim List_Events As XmlNodeList = Doc.GetElementsByTagName("Event")
- Dim List_Date As XmlNodeList = Doc.GetElementsByTagName("Date")
- Dim List_Start_Time As XmlNodeList = Doc.GetElementsByTagName("Start time")
- Dim List_End_Time As XmlNodeList = Doc.GetElementsByTagName("End time")
- Dim List_Conflict As XmlNodeList = Doc.GetElementsByTagName("Non Conflict")
- Dim List_Reminder As XmlNodeList = Doc.GetElementsByTagName("Reminder")
- For i = 0 To List_Events.Count - 1
- With temp
- .Name = List_Events(i).InnerXml
- .EventDate = List_Date(i).InnerXml
- .StartTime = List_Start_Time(i).InnerXml
- .EndTime = List_End_Time(i).InnerXml
- .NonC = List_Conflict(i).InnerXml
- End With
- Next i
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement