2017-08-31 9 views
0

シリアルポートからストリーミングデータを受信するアプリケーションが残っています(産業用ウェイト)その文字列からデータを受信する必要があります。重量値のみをカットしてデータベースに送信する必要があります。データベースにシリアルポートストリームをキャッチ

私が遭遇した唯一の問題は、ラインをキャッチして重量値をカットすることでした。ここで

は、私はテキストボックスのフィールドにシリアル・ストリームをキャッチするために何をすべきかです:

texboxフィールドで
public void write_to_field(object sender, EventArgs e) 
{ 
    if (textBox1.Text.Length <= Convert.ToInt16(strLenghBox.Text)) 
    { 
      string DispString; 
      DispString = serialPort1.ReadLine(); 
      textBox1.AppendText(DispString); 
     } 
     else 
     { 
      textBox1.Text = ""; 
     } 
} 

私は連続データフローを持っており、その中の文字番号は、すべての(strLenghBox.Textに達したときに、私はテキストボックスをクリア)の文字数です。

しかし、私はオフセット(私は最初から文字列を取得し始める可能性があり、私は取得してオフセットすることがあります)また、私はフィールドが完全ではないのでデータベースに渡すために重量値をキャッチキャッチすべての時間と私はオフセットを持っています。

私はこの状況で間違った方向に進むかもしれないと思います。

+0

私は実際にその方法をこのように起動します。プライベート無効serialPort1_DataReceived(オブジェクト送信者、System.IO.Ports.SerialDataReceivedEventArgs E) { this.Invoke(新しいイベントハンドラ(write_to_field)); } –

+0

これらのリンクを確認することができます。http://blogs.msdn.microsoft.com/bethmassi/2007/05/05/reading-from-a-serial-port-and-saving-to-a-database http://www.dreamincode.net/forums/topic/35775-serial-port-communication-in-c%23/ –

+0

こんにちは。私たちのコミュニティの多くの人々は、ソフトウェアエンジニアに関するジェンダーの前提を見るたびに、排除されていると感じる人々を心配していると言います。私は、より歓迎的な環境のために、あなたの投稿に男性指向の挨拶と代名詞を追加することを避けることができますか?ありがとうございました。 – halfer

答えて

3

フラグメント化されたデータを送信できるソースからデータを取得しようとしています。データの整合性を確保するために、あなたはおそらく必要があります

  • Aキューはストリーム
  • 完全な値を取得またはキューが空にされるまで、データをdepileする方法から、フォーマットにかかわらず、データを積み重ねるために
  • 完全な値が取得されたことを検出する方法(あなたがたとえば、データはあなたのストリームに分離され、どのような改行などのセパレータ不明確てきた)

あなたが値検出からのデータ読み出しを分離し、この方法表示します。

関連する問題