|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2007
Messaggi: 135
|
Leggere dati da porta COM
Ciao ragazzi,
ho un problema veramente grosso per uno come me che fa il sistemista Hardware da una vita ma che non sa praticamente nulla di programmazione. Tuttavia voglio cimentarmi in questa avventura, ma ho bisogno del vostro aiuto. Vengo al dunque. Ho bisogno di mettere sù in Windows un'applicazione, che acquisisca i dati che gli inputo con un lettore di codici a barre che lavora su una COM e li vada a scrivere in un file (anche di testo). So che probabilmente sarebbe più semplice far funzionare questo lettore con emulazione tastiera ma in questo caso avrei il vincolo di tenere una finestra sempre aperta e con il cursore nella posizione corretta. Spero che ci sia qualcuno che abbia già fatto una cosa del genere. Vi ringrazio. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Se mi dai qualche giorno, diciamo fino a mercoledi, posso provare a fartelo io.
RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2007
Messaggi: 135
|
Beh non sono con l'acqua alla gola quindi potrei anche aspettare ma il problema non è questo, è che non voglio che ti prenda tanto fastidio.
Grazie di cuore comunque. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao
Ho buttato giù una prima bozza. Dovresti scaricare (se usi windows) il framework .net 2.0 (il file si chiama dotnetfx.exe) e puoi trovarlo qui: http://www.microsoft.com/downloads/d...d-aab15c5e04f5 Una volta che lo hai installato, se in om mi dai la mail ti mando il primo eseguibile. Questo perchè lo sto facendo in C# Nel frattempo posto qui il codice sorgente. Premessa: Con questo sorgente ho cercato solo di: 1) elencare le porte disponibili che hai nel sistema 2) testare se la comunicazione con la porta funziona Mi scuso in anticipo con i "veri programmatori" per gli eventuali orrori del codice. Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Text;
using System.Windows.Forms;
namespace SerialTest
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
foreach(string s in SerialPort.GetPortName())
{
comboPortList.Items.Add(s);
//sul form c'è un combobox che viene popolato
//automaticamente con la lista delle porte
// disponibili
}
}
private void buttonTest_Click(object sender, EventArgs e)
{
if(comboPortList.Text.Length != 0)
{
try
{
SerialPort mySerialPort = new SerialPort(comboPortList.Text, 9600, Parity.None, 8, StopBits.One);
port.Datareceived += new SerialDataReceivedEventHandler(ricezioneDati);
richText.Text = mySerialPort.ReadExisting();
mySerialPort.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
else
{
MessageBox.Show("E' neccessario scegliere una porta");
comboPortList.Focus();
}
}
private void ricezioneDati(object sender, SerialDataReceivedEventArgs e)
{
try
{
string s = e.ToString();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
}
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:45.


















