Tenho um programa em C#, monitora dados da porta serial. Como eu faria para que esses dados fossem gravados em arquivo .txt ao mesmo tempo?

Obrigado

Segue o programa:

///////////////////////////////////////////////////////////////////////////////// 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace SimpleSerial
{
public partial class Form1 : Form
{
// Add this variable
string RxString;

public Form1()
{
InitializeComponent();
}

private void buttonStart_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM6";
serialPort1.BaudRate = 9600;

serialPort1.Open();
if (serialPort1.IsOpen)
{
buttonStart.Enabled = false;
buttonStop.Enabled = true;
textBox1.ReadOnly = false; }
textBox1.ReadOnly = false;



{
}
}

private void buttonStop_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
buttonStart.Enabled = true;
buttonStop.Enabled = false;
textBox1.ReadOnly = true;

}

}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// If the port is closed, don't try to send a character.
if (!serialPort1.IsOpen) return;

// If the port is Open, declare a char[] array with one element.
char[] buff = new char[1];

// Load element 0 with the key character.
buff[0] = e.KeyChar;

// Send the one character buffer.
serialPort1.Write(buff, 0, 1);

// Set the KeyPress event as handled so the character won't
// display locally. If you want it to display, omit the next line.
e.Handled = true;
}

private void DisplayText(object sender, EventArgs e)
{
textBox1.AppendText(RxString);
}

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
}
}

Exibições: 2925

Responder esta

Respostas a este tópico

Tenta o comando
string nome_arquivo = "C:/arquivo.txt";
if (!System.IO.File.Exists(nome_arquivo))
System.IO.File.Create(nome_arquivo).Close();
System.IO.TextWriter arquivo =System.IO.File.AppendText(nome_arquivo);
arquivo.WriteLine("Escrendo no arquivo");
arquivo.Close();
Lembrando que é um exemplo, você precisa adaptar lo a sua necessidade.

Conseguiu fazer? estou com o mesmo problema..

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço