12345
12345
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.Threading;
using System.IO;
using System.Net.NetworkInformation;
using System.Data.SqlClient;
using HIDLib;
namespace CuoiKy
{
public partial class Form1 : Form
{
string url = "";
Boolean autorequest = false;
HIDDevice dev = new HIDDevice();
long countChar = 0;
string InputDataTime = String.Empty; // Khai báo string buff dùng cho hiển
thị dữ liệu sau này.
public Thread eh;
float temp, light;
delegate void SetTextCallback(string text); //Khai bao delegate
SetTextCallBack voi tham so string
static int i = 0;
Boolean startread = true;
if (this.getDATA.InvokeRequired)
{
else
{
getDATA.Text += text;//hien thi list du lieu
//===============tu dong cuon du lieu textbox
getDATA.SelectionStart = getDATA.Text.Length;
getDATA.ScrollToCaret();
}
}
private void acceptClient()
{
while (startServer)
{
try
{
byte[] data = serversock.Receive(ref remoteEP);
dataReceive = Encoding.ASCII.GetString(data);
if (dataReceive != string.Empty)
{
SetText(dataReceive);
ipclient = remoteEP.Address.ToString();
int portclient = remoteEP.Port;
ipc.Invoke(new MethodInvoker(delegate { ipc.Text = ipclient
+ ":" + portclient.ToString(); }));
ProcessReceivedData(dataReceive);
}
}
catch { }
}
}
private void KetNoiCSDL()
{
string sql = "select * from LAN_UDP";
SqlConnection con = new SqlConnection(@"Data Source=DUONGWCAN\
SQL2008;Initial Catalog=CNTDuong_DTVT_K151;Integrated Security=True");
SqlCommand com = new SqlCommand(sql, con);
com.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
dataGridView1.DataSource = dt;
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.RowCount
- 1;
}
private delegate void dlgAutoUpdateDatabases(long id, string temp, string
light, string Time);
private void AutoUpdateDatabases(long id, string temp, string light, string
Time)
{
if (this.dataGridView1.InvokeRequired)
{
this.Invoke(new dlgAutoUpdateDatabases(AutoUpdateDatabases), id,
temp, light, Time);
}
else
{
SqlConnection con = new SqlConnection(@"Data Source=DUONGWCAN\
SQL2008;Initial Catalog=CNTDuong_DTVT_K151;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO LAN_UDP (ID, Temp,
Light, TimeCreat) VALUES (@ID,@Temp,@Light,@TimeCreat)", con);
cmd.Parameters.AddWithValue("@ID", id);
cmd.Parameters.AddWithValue("@Temp", temp);
cmd.Parameters.AddWithValue("@Light", light);
cmd.Parameters.AddWithValue("@TimeCreat", Time);
try
{
cmd.ExecuteNonQuery();
}
catch
{
con.Close();
return;
}
KetNoiCSDL();
}
}
private void ProcessReceivedData(string data)
{
try
{
if (dataReceive.IndexOf('@') != -1 && dataReceive.IndexOf('#') != -
1)
{
float temp = 0;
float light = 0;
}
private delegate void dlgdrawChar();
private void drawChar()
{
if (this.chart1.InvokeRequired)
{
this.Invoke(new dlgdrawChar(drawChar));
}
else
{
try
{
this.chart1.Series["Temp"].Points.AddXY(countChar, temp);
this.chart1.Series["Light"].Points.AddXY(countChar, light);
}
catch { }
}
}
private void BTStop_Click(object sender, EventArgs e)
{
startread = false;
try
{
eh.Abort();
Thread.Sleep(100);
}
catch
{
eh = new Thread(new ThreadStart(ReceiveTEMP));//khởi tạo thread
chạy hàm nhận dữ liệu từ USB
eh.Start();
Thread.Sleep(100);
eh.Abort();//Chạy Thread
}
}
private void BTDelAll_Click(object sender, EventArgs e)
{
getDATA.Text = string.Empty;
}