178 lines
4.6 KiB
C#
178 lines
4.6 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace Tidstagning
|
|||
|
{
|
|||
|
public partial class Form1 : Form
|
|||
|
{
|
|||
|
BindingList<Entry> entries = new BindingList<Entry> {
|
|||
|
|
|||
|
};
|
|||
|
ResultList liste;
|
|||
|
Relay horn;
|
|||
|
|
|||
|
System.IO.StreamReader deltager_handle;
|
|||
|
|
|||
|
public Form1()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
deltager_handle = new System.IO.StreamReader("Deltager.txt");
|
|||
|
|
|||
|
|
|||
|
string deltager;
|
|||
|
while ((deltager = deltager_handle.ReadLine()) != null)
|
|||
|
{
|
|||
|
string[] dele = deltager.Split(',');
|
|||
|
entries.Add(new Entry(dele[0],dele[1]));
|
|||
|
}
|
|||
|
liste = new ResultList("Resultat", txtDebug);
|
|||
|
|
|||
|
foreach(string port in Relay.GetPorts()) {
|
|||
|
comboComport.Items.Add(port);
|
|||
|
}
|
|||
|
|
|||
|
comboSoundTime.SelectedIndex = 0;
|
|||
|
comboComport.SelectedIndex = 0;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void Form1_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
grid.DataSource = entries;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
private void grid_Click(object sender, DataGridViewCellEventArgs e)
|
|||
|
{
|
|||
|
if (btnStop.Enabled != true)
|
|||
|
return;
|
|||
|
|
|||
|
if (e.RowIndex >= 0 && e.ColumnIndex == grid.Columns["DNF"].Index)
|
|||
|
{
|
|||
|
entries[e.RowIndex].DNF();
|
|||
|
liste.WriteDNF(entries[e.RowIndex]);
|
|||
|
|
|||
|
int index = e.RowIndex;
|
|||
|
grid.ClearSelection();
|
|||
|
grid.CurrentCell = null;
|
|||
|
entries.RemoveAt(e.RowIndex);
|
|||
|
}
|
|||
|
if (e.RowIndex >= 0 && e.ColumnIndex == grid.Columns["Complete"].Index) {
|
|||
|
entries[e.RowIndex].Complete();
|
|||
|
liste.WriteComplete(entries[e.RowIndex]);
|
|||
|
|
|||
|
int index = e.RowIndex;
|
|||
|
grid.ClearSelection();
|
|||
|
grid.CurrentCell = null;
|
|||
|
entries.RemoveAt(e.RowIndex);
|
|||
|
|
|||
|
horn.Set(0x00, 0x01);
|
|||
|
countdowntimer.Interval = int.Parse(comboSoundTime.SelectedItem.ToString());
|
|||
|
countdowntimer.Start();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//grid.
|
|||
|
grid.Refresh();
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void btnMoveUp_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (grid.SelectedRows.Count == 1)
|
|||
|
{
|
|||
|
int idx = grid.SelectedRows[0].Index;
|
|||
|
if (idx == 0)
|
|||
|
return;
|
|||
|
Entry entry = entries[idx];
|
|||
|
entries.Remove(entry);
|
|||
|
entries.Insert(idx - 1, entry);
|
|||
|
grid.ClearSelection();
|
|||
|
|
|||
|
grid.Rows[idx - 1].Selected = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnMoveDown_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (grid.SelectedRows.Count == 1)
|
|||
|
{
|
|||
|
int idx = grid.SelectedRows[0].Index;
|
|||
|
if (idx == grid.Rows.Count - 1 )
|
|||
|
return;
|
|||
|
Entry entry = entries[idx];
|
|||
|
entries.Remove(entry);
|
|||
|
entries.Insert(idx + 1, entry);
|
|||
|
grid.ClearSelection();
|
|||
|
grid.Rows[idx + 1].Selected = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnAutoStart_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (txtHeader.Text == "")
|
|||
|
return;
|
|||
|
liste.WriteHeader(txtHeader.Text);
|
|||
|
btnAutoStart.Enabled = false;
|
|||
|
btnStop.Enabled = true;
|
|||
|
|
|||
|
horn = new Relay(comboComport.SelectedItem.ToString());
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void btnStop_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
btnAutoStart.Enabled = true;
|
|||
|
btnStop.Enabled = false;
|
|||
|
|
|||
|
horn.Close();
|
|||
|
|
|||
|
liste.Write("Nedtælling stoppet");
|
|||
|
|
|||
|
countdowntimer.Stop();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void timer_Tick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
countdowntimer.Stop();
|
|||
|
horn.Set(0x00, 0x00);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//Enlarge the row in view
|
|||
|
private void grid_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
|
|||
|
{
|
|||
|
MessageBox.Show(e.RowIndex.ToString());
|
|||
|
//grid.Rows[e.RowIndex].Height = 40;
|
|||
|
|
|||
|
//grid.Refresh();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void grid_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
//grid.Rows[e.RowIndex].Height = 20;
|
|||
|
|
|||
|
//grid.Refresh();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|