Hi
I have a note sorter machine that is connected to serial port. I am able to get the data from it in a textbox that is as folllows:
-----------------------------JL206F ID:VDE40050
2015/05/29 11:02:19
JBatch_No.:067
JOperator ID:15
--------------------------------
Mixed Counting
W--------------------------------Deposit Amount: 0.00
--------------------------------
denom count value
UVK(|????DW50D 1 50.00
JUVK(|????DW20D 1 20.00
JUVK(|????DW10N D 1 10.00
J--------------------------------
Total: 3 80.00
--------------------------------
Coin: 0.00
--------------------------------
Balance: 0.00
Now I want them to arrange in datagrid. How can I do that.
My code is as follows:
I have a note sorter machine that is connected to serial port. I am able to get the data from it in a textbox that is as folllows:
-----------------------------JL206F ID:VDE40050
2015/05/29 11:02:19
JBatch_No.:067
JOperator ID:15
--------------------------------
Mixed Counting
W--------------------------------Deposit Amount: 0.00
--------------------------------
denom count value
UVK(|????DW50D 1 50.00
JUVK(|????DW20D 1 20.00
JUVK(|????DW10N D 1 10.00
J--------------------------------
Total: 3 80.00
--------------------------------
Coin: 0.00
--------------------------------
Balance: 0.00
Now I want them to arrange in datagrid. How can I do that.
My code is as follows:
Code:
namespace SerialPortListener
{
public partial class MainForm : Form
{
SerialPortManager _spManager;
public MainForm()
{
InitializeComponent();
UserInitialization();
}
private void UserInitialization()
{
_spManager = new SerialPortManager();
SerialSettings mySerialSettings = _spManager.CurrentSerialSettings;
serialSettingsBindingSource.DataSource = mySerialSettings;
portNameComboBox.DataSource = mySerialSettings.PortNameCollection;
baudRateComboBox.DataSource = mySerialSettings.BaudRateCollection;
dataBitsComboBox.DataSource = mySerialSettings.DataBitsCollection;
parityComboBox.DataSource = Enum.GetValues(typeof(System.IO.Ports.Parity));
stopBitsComboBox.DataSource = Enum.GetValues(typeof(System.IO.Ports.StopBits));
_spManager.NewSerialDataRecieved += new EventHandler<SerialDataEventArgs>(_spManager_NewSerialDataRecieved);
this.FormClosing += new FormClosingEventHandler(MainForm_FormClosing);
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
_spManager.Dispose();
}
void _spManager_NewSerialDataRecieved(object sender, SerialDataEventArgs e)
{
if (this.InvokeRequired)
{
// Using this.Invoke causes deadlock when closing serial port, and BeginInvoke is good practice anyway.
this.BeginInvoke(new EventHandler<SerialDataEventArgs>(_spManager_NewSerialDataRecieved), new object[] { sender, e });
return;
}
int maxTextLength = 1000; // maximum text length in text box
if (tbData.TextLength > maxTextLength)
tbData.Text = tbData.Text.Remove(0, tbData.TextLength - maxTextLength);
string str = Encoding.ASCII.GetString(e.Data);
tbData.AppendText(str);
tbData.ScrollToCaret();
}
// Handles the "Start Listening"-buttom click event
private void btnStart_Click(object sender, EventArgs e)
{
_spManager.StartListening();
}
// Handles the "Stop Listening"-buttom click event
private void btnStop_Click(object sender, EventArgs e)
{
_spManager.StopListening();
}