Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.91 KB | None | 0 0
  1. Public Class Form1
  2. Structure OrderDetails
  3. Dim CustomerID As Integer
  4. Dim TicketID As String
  5. Dim TicketsNo As Integer
  6. Dim Method As String
  7. End Structure
  8.  
  9. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  10. Dim FileLen As Integer
  11. Dim OrderDetails(300) As OrderDetails
  12. ReadFile(FileLen, OrderDetails)
  13. CountMethod(FileLen, OrderDetails)
  14. CalculateRaised(FileLen, OrderDetails)
  15. Output(FileLen, OrderDetails)
  16. End Sub
  17.  
  18. Private Sub ReadFile(ByVal FileLen As Integer, ByVal OrderDetails() As OrderDetails)
  19. 'File is opened and data from file is processed into OrderDetails
  20. Dim Counter As Integer
  21. Dim Filename As String
  22. Dim CurrentCol() As String
  23.  
  24. Filename = "FilePathHere"
  25. FileOpen(1, Filename, OpenMode.Input)
  26.  
  27. Do
  28. FileLen = FileLen + 1
  29. CurrentCol = Split(LineInput(1), ",")
  30. OrderDetails(Counter).CustomerID = CurrentCol(0)
  31. OrderDetails(Counter).TicketID = CurrentCol(1)
  32. OrderDetails(Counter).TicketsNo = CurrentCol(2)
  33. OrderDetails(Counter).Method = CurrentCol(3)
  34. Loop Until EOF(1)
  35. FileClose(1)
  36. End Sub
  37.  
  38. Private Sub CountMethod(ByRef FileLen As Integer, ByRef OrderDetails() As OrderDetails)
  39. Dim OfficeCount As Integer
  40. Dim WebsiteCount As Integer
  41. Dim Counter As Integer
  42.  
  43. For Counter = 1 To FileLen
  44. If OrderDetails(Counter).Method = ScrollStateAutoScrolling Then
  45. OfficeCount = OfficeCount + 1
  46. Else
  47. WebsiteCount = WebsiteCount + 1
  48. End If
  49. Next
  50.  
  51. ListBox1.Items.Add("Essel Academy Choral Shield " & Year(Now))
  52.  
  53. If OfficeCount > WebsiteCount Then
  54. ListBox1.Items.Add("The most popular method of ticket purchase was through the School Office.")
  55. Else
  56. ListBox1.Items.Add("The most popular method of ticket purchase was through the website online.")
  57. End If
  58. End Sub
  59.  
  60. Private Sub CalculateRaised(ByRef FileLen As Integer, ByRef OrderDetails() As OrderDetails)
  61. Dim TotalRaised As Integer
  62.  
  63. For Counter = 1 To FileLen
  64. If Microsoft.VisualBasic.Left(OrderDetails(Counter).TicketID, 1) = "F" Then
  65. TotalRaised = TotalRaised + 10 * OrderDetails(Counter).TicketsNo
  66. Else
  67. TotalRaised = TotalRaised + 5 * OrderDetails(Counter).TicketsNo
  68. End If
  69. Next
  70.  
  71. ListBox1.Items.Add("The total amount raised was " & TotalRaised)
  72. End Sub
  73.  
  74. Private Sub Output(ByRef FileLen As Integer, ByRef OrderDetails() As OrderDetails)
  75. Dim Filename As String
  76. Filename = "FILEPATHNEW"
  77. FileOpen(2, Filename, OpenMode.Output)
  78.  
  79. For Counter = 1 To FileLen
  80. If Microsoft.VisualBasic.Left(OrderDetails(Counter).TicketID, 1) = "F" Then
  81. OrderDetails(Counter).CustomerID()
  82. End If
  83. Next
  84. End Sub
  85.  
  86.  
  87.  
  88. End Class
  89.  
  90.  
  91. Record Structure OrderDetails[300]
  92. CustomerID As Integer
  93. TicketID as String
  94. TicketsNo as Integer
  95. Method as String (School Office or Website)
  96. FileLen as Integer
  97.  
  98. 1 ReadFile [OUT: OrderDetails, FileLen]
  99. 2 CountMethod [IN: OrderDetails, FileLen]
  100. 3 CalculateRaised [IN: OrderDetails, FileLen]
  101. 4 WriteFile [In: OrderDetails, FileLen]
  102.  
  103. Step 1 -
  104. Set Filename to "File"
  105. Open Filename
  106. REPEAT
  107. SET FileLen TO FileLen + 1
  108. RECEIVE OrderDetails.CustomerID
  109. RECIEVE OrderDetails.TicketID
  110. RECEIVE OrderDetails.TicketsNo
  111. UNTIL EndOfFile
  112. Close Filename
  113.  
  114. Step 2 -
  115. Declare OfficeCount as Integer
  116. Declare WebsiteCount as Integer
  117. Declare Counter as Integer
  118.  
  119. FOR Counter from 1 TO FileLen
  120. IF OrderDetails(counter).Method = S THEN
  121. SET OfficeCount TO OfficeCount + 1
  122. ELSE
  123. SET WebsiteCount to WebsiteCount +1
  124. ENDFOR
  125.  
  126. SEND "Essel Academy Choral Shield" & CURRENT YEAR TO DISPLAY
  127.  
  128. If OfficeCount > WebsiteCount THEN
  129. SEND "The most popular method of ticket purchase was through the School Office." TO DISPLAY
  130. ELSE
  131. SEND "The most popular method of ticket purchase was through the website online." TO DISPLAY
  132.  
  133. Step 3 -
  134. DECLARE TotalRaised AS Integer
  135.  
  136. FOR Counter FROM 1 TO FileLen
  137. IF left(OrderDetails(Counter).TicketID,1) = "F" THEN
  138. SET TotalRaised TO TotalRaised + 10 * OrderDetails(Counter).TicketsNo
  139. ELSE
  140. SET TotalRaised TO TotalRaised + 5 * OrderDetails(Counter).TicketsNo
  141.  
  142. SEND "The total amount raised was " & TotalRaised TO DISPLAY
  143.  
  144. Step 4 -
  145. SET FileName TO "NEW INFO"
  146. Open FileName
  147.  
  148. FOR Counter FROM 1 TO FileLen
  149. IF Left(OrderDetails(Counter).TicketID = "F" THEN
  150. SEND OrderDetails(Counter).CustomerID, OrderDetails(Counter).TicketID, OrderDetails.(Counter).TicketsNo, OrderDetails(Counter).Method TO FILEROW
  151. ENDIF
  152. Close Filename
  153. SEND "File exported" TO DISPLAY
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement