using System; namespace Tidstagning { class ResultList { System.IO.StreamWriter filehandle_log; System.IO.StreamWriter filehandle_results; Tidstagning.MainUI parentForm; string racenumber = ""; public ResultList(string filename, Tidstagning.MainUI log_object) { filename = MakeSafeFilename(filename, '_'); filehandle_log = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss") + ".txt"); filehandle_results = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss") + ".csv"); parentForm = log_object; } private string MakeSafeFilename(string filename, char replaceChar) { foreach (char c in System.IO.Path.GetInvalidFileNameChars()) { filename = filename.Replace(c, replaceChar); } return filename; } public void WriteHeader(string header) { this.racenumber = header; Write("----------------------------"); Write(header); Write("Løb startet den: " + DateTime.Now.ToString()); Write("----------------------------"); WriteCSV("RaceNo,SailNo,Finish,Code,"); } public void WriteFooter() { Write("----------------------------"); Write("Løb afsluttet den: " + DateTime.Now.ToString()); Write("----------------------------"); } public void WriteComplete(Entry Boat) { Write("Fuldført! - " + Boat.Name + " - " + Boat.Completed_Time.ToString()); WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + Boat.Completed_Time.ToString("HH:mm:ss") + ", ,"); } public void WriteDNF(Entry Boat) { Write("Udgået! - " + Boat.Name + " - " + Boat.Completed_Time.ToString()); WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + "00:00:00,DNC,"); } public void Write(string textstring) { filehandle_log.WriteLine(textstring); parentForm.LogAppend(textstring + "\r\n"); filehandle_log.Flush(); } public void WriteCSV(string textstring) { filehandle_results.WriteLine(textstring); filehandle_results.Flush(); } public void Close() { filehandle_log.Close(); filehandle_results.Close(); } } }