Advertisement
Guest User

Untitled

a guest
May 28th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Text.RegularExpressions;
  9. using System.Runtime.Serialization;
  10. using System.Runtime.Serialization.Formatters.Binary;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. using System.IO;
  14.  
  15. namespace Assignment3_CS
  16. {
  17. public partial class Form1 : Form
  18. {
  19. Weather weather;
  20. Int32[,] number = new Int32[7,4];
  21. String[] weatherType = new String[7];
  22. Int32 index = 0;
  23. public Form1()
  24. {
  25. InitializeComponent();
  26. weather = new Weather();
  27. }
  28.  
  29. private void generateGraph()
  30. {
  31. Graphics graphics = pnlCoolGraph.CreateGraphics();
  32. graphics.ScaleTransform(1, -1);
  33. graphics.TranslateTransform(0, -pnlCoolGraph.Height / 2);
  34.  
  35. Pen redPen = new Pen(Color.Red, 2);
  36.  
  37. for (int from = 0, to = 1; to < 7; from++, to++)
  38. {
  39. graphics.DrawLine(redPen, from * (pnlCoolGraph.Width / 6 ), number[from,0], to * (pnlCoolGraph.Width / 6), number[to,0]);
  40. }
  41.  
  42.  
  43. Pen bluePen = new Pen(Color.Blue, 2);
  44.  
  45. for (int from = 0, to = 1; to < 7; from++, to++)
  46. {
  47. graphics.DrawLine(bluePen, from * (pnlCoolGraph.Width / 6), number[from, 1], to * (pnlCoolGraph.Width / 6), number[to, 1]);
  48. }
  49.  
  50. Pen greenPen = new Pen(Color.DarkSeaGreen, 2);
  51.  
  52. for (int from = 0, to = 1; to < 7; from++, to++)
  53. {
  54. graphics.DrawLine(greenPen, from * (pnlCoolGraph.Width / 6), number[from, 2], to * (pnlCoolGraph.Width / 6), number[to, 2]);
  55. }
  56.  
  57.  
  58. Pen orchidPen = new Pen(Color.DarkOrchid, 2);
  59.  
  60. for (int from = 0, to = 1; to < 7; from++, to++)
  61. {
  62. graphics.DrawLine(orchidPen, from * (pnlCoolGraph.Width / 6), number[from, 3], to * (pnlCoolGraph.Width / 6), number[to, 3]);
  63. }
  64.  
  65. redPen.Dispose();
  66. bluePen.Dispose();
  67. greenPen.Dispose();
  68. orchidPen.Dispose();
  69. }
  70.  
  71.  
  72. private void cbSelection_SelectedIndexChanged(object sender, EventArgs e)
  73. {
  74. ComboBox cbSelection = (ComboBox)sender;
  75. Image weathercb = (Image)Properties.Resources.ResourceManager.GetObject(cbSelection.Text);
  76. if (weathercb != null)
  77. weatherPic.Image = weathercb;
  78.  
  79. }
  80. private void loadArrays()
  81. {
  82. for(int i = 0; i < 7; i++)
  83. {
  84.  
  85. DateTime temp = new DateTime(2015, 5, 25, 7, 47, 0);
  86. if (i > 0)
  87. temp = temp.AddDays(i);
  88. String name = temp.ToString("MMddyyyy") + ".dat";
  89. name = ".\\..\\..\\weatherDate\\" + name;
  90. openFileDialog1.FileName = name;
  91. Stream stream = new FileStream(name, FileMode.Open, FileAccess.Read);
  92. IFormatter formatter = new BinaryFormatter();
  93.  
  94. weather =(Weather)formatter.Deserialize(stream);
  95. stream.Close();
  96.  
  97. number[i, 0] = Convert.ToInt32(weather.txtHigh);
  98. number[i, 1] = Convert.ToInt32(weather.txtLow);
  99. number[i, 2] = Convert.ToInt32(weather.txtPrecip);
  100. number[i, 3] = Convert.ToInt32(weather.txtWind);
  101.  
  102. weatherType[i] = weather.cbSelection;
  103.  
  104. }
  105.  
  106. }
  107.  
  108. private void updateDay()
  109. {
  110. txtDayHigh.Text = Convert.ToString(number[index, 0]);
  111. txtDayLow.Text = Convert.ToString(number[index, 1]);
  112. txtDayPrecip.Text = Convert.ToString(number[index, 2]);
  113. txtDayWind.Text = Convert.ToString(number[index, 3]);
  114. String temp = weatherType[index];
  115.  
  116. Image weathercb = (Image)Properties.Resources.ResourceManager.GetObject(temp);
  117. if (weathercb != null)
  118. weatherPicDay.Image = weathercb;
  119.  
  120.  
  121. }
  122.  
  123. private void updatePicture()
  124. {
  125. Image image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[0]);
  126. if (image != null)
  127. pbDay1.Image = image;
  128.  
  129. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[1]);
  130. if (image != null)
  131. pbDay2.Image = image;
  132.  
  133. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[2]);
  134. if (image != null)
  135. pbDay3.Image = image;
  136.  
  137. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[3]);
  138. if (image != null)
  139. pbDay4.Image = image;
  140.  
  141. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[4]);
  142. if (image != null)
  143. pbDay5.Image = image;
  144.  
  145. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[5]);
  146. if (image != null)
  147. pbDay6.Image = image;
  148.  
  149. image = (Image)Properties.Resources.ResourceManager.GetObject(weatherType[6]);
  150. if (image != null)
  151. pbDay7.Image = image;
  152. }
  153.  
  154. //private void updateOfWeek()
  155. //{
  156. // lblDate.Text = day.dayOfTheWeek;
  157. //}
  158.  
  159. private void btnSave_Click(object sender, EventArgs e)
  160. {
  161. String precip;
  162. String wind;
  163. String high;
  164. String low;
  165.  
  166. precip = @"\d{2}";
  167. string testString = txtPrecip.Text;
  168. Match match = Regex.Match(testString, precip);
  169. if (txtPrecip.Text == "")
  170. MessageBox.Show("Please enter a precipitation percentage. Ex. 20");
  171.  
  172.  
  173. wind = @"\d{2}";
  174. string testString1 = txtWind.Text;
  175. Match match1 = Regex.Match(testString1, wind);
  176. if (txtWind.Text == "")
  177. MessageBox.Show("Please enter a wind speed. Ex. 10");
  178.  
  179. high = @"\d{2}";
  180. string testString2 = txtHigh.Text;
  181. Match match2 = Regex.Match(testString2, high);
  182. if (txtHigh.Text == "")
  183. MessageBox.Show("Please enter a temperature high. Ex. 25");
  184.  
  185. low = @"\d{2}";
  186. string testString3 = txtLow.Text;
  187. Match match3 = Regex.Match(testString3, low);
  188. if (txtLow.Text == "")
  189. MessageBox.Show("Please enter a temperature high. Ex. -10");
  190.  
  191. weather.txtWind = txtWind.Text;
  192. weather.txtPrecip = txtPrecip.Text;
  193. weather.txtLow = txtLow.Text;
  194. weather.txtHigh = txtHigh.Text;
  195. weather.cbSelection = cbSelection.Text;
  196. saveFileDialog1.InitialDirectory = Path.GetFullPath(".\\..\\..\\weatherDate");
  197. if (cbSelection.Text != "")
  198. weather.cbSelection = cbSelection.Text;
  199. saveFileDialog1.FileName = weatherDate.Value.ToString("MMddyyyy") + ".dat";
  200. DialogResult save = saveFileDialog1.ShowDialog();
  201.  
  202. if (save == DialogResult.OK)
  203. {
  204. string nameOfFile = saveFileDialog1.FileName;
  205.  
  206. Stream stream = new FileStream(nameOfFile, FileMode.Create, FileAccess.Write);
  207. IFormatter formatter = new BinaryFormatter();
  208. formatter.Serialize(stream, weather);
  209. stream.Close();
  210. }
  211.  
  212. }
  213.  
  214. private void btnOpen_Click(object sender, EventArgs e)
  215. {
  216. openFileDialog1.InitialDirectory = Path.GetFullPath(".\\..\\..\\weatherDate");
  217. DialogResult open = openFileDialog1.ShowDialog();
  218.  
  219. if (open == DialogResult.OK)
  220. {
  221. string nameOfFile = openFileDialog1.FileName;
  222.  
  223. Stream stream = new FileStream(nameOfFile, FileMode.Open, FileAccess.Read);
  224. IFormatter formatter = new BinaryFormatter();
  225. weather = (Weather)formatter.Deserialize(stream);
  226. stream.Close();
  227. }
  228.  
  229. txtWind.Text = weather.txtWind;
  230. txtPrecip.Text = weather.txtPrecip;
  231. txtLow.Text = weather.txtLow;
  232. txtHigh.Text = weather.txtHigh;
  233. cbSelection.Text = weather.cbSelection;
  234.  
  235. }
  236.  
  237. private void tabControlWeek_SelectedIndexChanged(object sender, EventArgs e)
  238. {
  239.  
  240. loadArrays();
  241. updateDay();
  242. updatePicture();
  243. generateGraph();
  244.  
  245. }
  246.  
  247.  
  248. private void weatherDate_ValueChanged(object sender, EventArgs e)
  249. {
  250. DateTime date = DateTime.Today;
  251. for (int day = 0; day < 7; day++)
  252. {
  253. date = date.AddDays(1);
  254.  
  255. }
  256. String dateString = String.Format("{0:MMddyyyy}", date);
  257.  
  258.  
  259. }
  260.  
  261. private void btnPrev_Click(object sender, EventArgs e)
  262. {
  263. DateTime date = DateTime.Today;
  264. if (index > 0)
  265. {
  266. index--;
  267. updateDay();
  268. }
  269.  
  270. }
  271.  
  272. private void btnNext_Click(object sender, EventArgs e)
  273. {
  274. if (index < 6)
  275. {
  276. index++;
  277. updateDay();
  278. }
  279.  
  280. }
  281.  
  282. private void Form1_Load(object sender, EventArgs e)
  283. {
  284. txtHigh.Text = "20";
  285. txtLow.Text = "10";
  286. txtPrecip.Text = "30";
  287. txtWind.Text = "27";
  288. cbSelection.Text = "Sunny";
  289. }
  290.  
  291. }
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement