Static code analysis

This commit is contained in:
Jens True 2022-11-03 21:58:32 +01:00
parent a12e02736c
commit 3511bf1c7e
8 changed files with 62 additions and 54 deletions

17
MainUI.Designer.cs generated

@ -40,9 +40,9 @@
this.txtHeader = new System.Windows.Forms.TextBox();
this.grid = new System.Windows.Forms.DataGridView();
this.Complete = new System.Windows.Forms.DataGridViewButtonColumn();
this.nameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DNF = new System.Windows.Forms.DataGridViewButtonColumn();
this.entryBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.nameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.txtLog = new System.Windows.Forms.TableLayoutPanel();
this.lblClock = new System.Windows.Forms.Label();
this.flowLayoutPanelConfiguration = new System.Windows.Forms.FlowLayoutPanel();
@ -205,13 +205,6 @@
this.Complete.ReadOnly = true;
this.Complete.Text = "Mål";
//
// nameDataGridViewTextBoxColumn
//
this.nameDataGridViewTextBoxColumn.DataPropertyName = "SailNumber";
this.nameDataGridViewTextBoxColumn.HeaderText = "Sejlnummer";
this.nameDataGridViewTextBoxColumn.Name = "nameDataGridViewTextBoxColumn";
this.nameDataGridViewTextBoxColumn.Width = 198;
//
// DNF
//
this.DNF.HeaderText = "DNF";
@ -220,6 +213,13 @@
this.DNF.Text = "Udgået";
this.DNF.UseColumnTextForButtonValue = true;
//
// nameDataGridViewTextBoxColumn
//
this.nameDataGridViewTextBoxColumn.DataPropertyName = "SailNumber";
this.nameDataGridViewTextBoxColumn.HeaderText = "Sejlnummer";
this.nameDataGridViewTextBoxColumn.Name = "nameDataGridViewTextBoxColumn";
this.nameDataGridViewTextBoxColumn.Width = 198;
//
// txtLog
//
this.txtLog.ColumnCount = 3;
@ -365,6 +365,7 @@
this.Name = "MainUI";
this.Text = "Tidstagning";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainUI_FormClosed);
this.Load += new System.EventHandler(this.Form1_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();

@ -1,5 +1,6 @@
using System;
using System.ComponentModel;
using System.Globalization;
using System.Windows.Forms;
namespace Tidstagning
@ -98,7 +99,7 @@ namespace Tidstagning
private void btnStart_Click(object sender, EventArgs e)
{
if (txtHeader.Text == "")
if (txtHeader.Text.Trim().Length == 0)
{
MessageBox.Show("Udfyld løbs titel");
return;
@ -140,7 +141,7 @@ namespace Tidstagning
private void Clock_Tick(object sender, EventArgs e)
{
lblClock.Text = DateTime.Now.ToString("HH:mm:ss");
lblClock.Text = DateTime.Now.ToString("HH:mm:ss", new CultureInfo("da-DK"));
if (checkStartProcedure.Checked)
{
textStartProcedure.Text = startprocedure.TextualRepresentation();
@ -184,7 +185,8 @@ namespace Tidstagning
grid.Focus();
}
}
catch { }
catch(InvalidOperationException)
{ }
}
}
@ -198,7 +200,7 @@ namespace Tidstagning
grid.Rows[e.RowIndex].Height = 30;
}
catch
catch(InvalidOperationException)
{ }
}
@ -206,8 +208,10 @@ namespace Tidstagning
private void buttonConfig_Click(object sender, EventArgs e)
{
ConfigUI configui = new();
configui.ShowDialog();
using (ConfigUI configui = new())
{
configui.ShowDialog();
}
}
private void numericSignalLength_ValueChanged(object sender, EventArgs e)
@ -216,5 +220,14 @@ namespace Tidstagning
Properties.Settings.Default.SignalLength = (uint)numericSignalLength.Value;
Properties.Settings.Default.Save();
}
private void MainUI_FormClosed(object sender, FormClosedEventArgs e)
{
if (liste is not null)
{
liste.Close();
}
}
}
}

@ -2,6 +2,8 @@
using System.Diagnostics;
using System;
using Timer = System.Threading.Timer;
using System.Globalization;
namespace Tidstagning
{
class Procedure
@ -12,7 +14,7 @@ namespace Tidstagning
uint signalLength = 500;
Timer? delayTimer;
Int16 idx = 0;
int idx;
public Procedure()
{
@ -37,9 +39,9 @@ namespace Tidstagning
{
try
{
signaler.Add(DateTime.Parse(input_filtered));
signaler.Add(DateTime.Parse(input_filtered, new CultureInfo("da-DK")));
}
catch
catch(ArgumentNullException)
{
Debug.WriteLine("Failed to parse: " + input);
}
@ -66,7 +68,7 @@ namespace Tidstagning
{
t += " ";
}
t += signal.ToString() + "\r\n";
t += signal.ToString(new CultureInfo("da-DK")) + "\r\n";
}
}
return t;
@ -116,7 +118,8 @@ namespace Tidstagning
}
if (log is not null)
{
log.Write("Næste signal: " + alertTime.ToString(@"HH\:mm\:ss") + " Om: " + timeToGo.ToString(@"hh\:mm\:ss"));
;
log.Write("Næste signal: " + alertTime.ToString(@"HH\:mm\:ss", new CultureInfo("da-DK")) + " Om: " + timeToGo.ToString(@"hh\:mm\:ss", new CultureInfo("da-DK")));
}
delayTimer = new Timer(x =>
{

@ -1,6 +1,8 @@
using CommandLine;
using System.Windows.Forms;
using System;
[assembly: CLSCompliant(false)]
namespace Tidstagning
{
class Program

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO.Ports;
using System.Threading;
@ -16,7 +17,7 @@ namespace Tidstagning
public bool output_on;
};
Queue<SignalSpec> signals = new Queue<SignalSpec>();
bool processing_queue = false;
bool processing_queue;
public Relay()
{
@ -36,7 +37,7 @@ namespace Tidstagning
com.Open();
return true;
}
catch
catch (ArgumentException)
{
return false;
}
@ -67,7 +68,7 @@ namespace Tidstagning
return;
}
Debug.WriteLine("Requesting horn for: " + time.ToString() + "ms");
Debug.WriteLine("Requesting horn for: " + time.ToString(new CultureInfo("da-DK")) + "ms");
SignalSpec on_signal;
on_signal.duration = time;
on_signal.output_on = true;

@ -1,8 +1,10 @@
using System;
using System.Globalization;
using System.IO;
namespace Tidstagning
{
class ResultList
class ResultList : IDisposable
{
System.IO.StreamWriter filehandle_log;
System.IO.StreamWriter filehandle_results;
@ -11,12 +13,12 @@ namespace Tidstagning
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");
filehandle_log = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss", new CultureInfo("da-DK")) + ".txt");
filehandle_results = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss", new CultureInfo("da-DK")) + ".csv");
parentForm = log_object;
}
private string MakeSafeFilename(string filename, char replaceChar)
private static string MakeSafeFilename(string filename, char replaceChar)
{
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
@ -30,7 +32,7 @@ namespace Tidstagning
this.racenumber = header;
Write("----------------------------");
Write(header);
Write("Løb startet den: " + DateTime.Now.ToString());
Write("Løb startet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
Write("----------------------------");
WriteCSV("RaceNo,SailNo,Finish,Code,");
}
@ -39,19 +41,19 @@ namespace Tidstagning
public void WriteFooter()
{
Write("----------------------------");
Write("Løb afsluttet den: " + DateTime.Now.ToString());
Write("Løb afsluttet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
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") + ", ,");
Write("Fuldført! - " + Boat.Name + " - " + Boat.Completed_Time.ToString(new CultureInfo("da-DK")));
WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + Boat.Completed_Time.ToString("HH:mm:ss", new CultureInfo("da-DK")) + ", ,");
}
public void WriteDNF(Entry Boat)
{
Write("Udgået! - " + Boat.Name + " - " + Boat.Completed_Time.ToString());
Write("Udgået! - " + Boat.Name + " - " + Boat.Completed_Time.ToString(new CultureInfo("da-DK")));
WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + "00:00:00,DNC,");
}
@ -71,8 +73,15 @@ namespace Tidstagning
public void Close()
{
filehandle_log.Close();
filehandle_log.Dispose();
filehandle_results.Close();
filehandle_results.Dispose();
}
public void Dispose()
{
this.Close();
}
}
}

@ -9,10 +9,11 @@
<StartupObject>Tidstagning.Program</StartupObject>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Configurations>Release</Configurations>
<AnalysisLevel>latest-all</AnalysisLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>true</Optimize>
<Optimize>False</Optimize>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>

@ -1,22 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32901.82
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tidstagning", "Tidstagning.csproj", "{24861418-B1D3-4A24-AE31-3E696E98B1B5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{24861418-B1D3-4A24-AE31-3E696E98B1B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24861418-B1D3-4A24-AE31-3E696E98B1B5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {910E5B5A-8C92-4A02-B47E-4A8735ECEE9C}
EndGlobalSection
EndGlobal