2016-04-26 10 views
1

テキストボックスのシリアルポートからデータを読み込んだ後、テキストファイルに保存します。シリアルポートからデータを読み取っているときにテキストボックスに同じサイズのテキスト行を表示する方法は?

  1. 私はRxString = serialPort1.ReadLine();を使用するときに、私はテキストボックスに不均一な大きさのTextrows、および保存されたテキストファイルでさえサイズTextrowsを取得します。
  2. 私はRxString = serialPort1.ReadExisting();を使用していますが、保存されたテキストファイルにテキストボックスと均等でないサイズのTextrowsがあります。
  3. 私のコードは次のようになります。

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

私のデータは次のようになります。

150101 02:30:30,7 0030;0000;00;00;00;00;0000;0000;80;10;E008 

150101 02:30:30,8 0030;0000;00;00;00;00;0000;0000;00;10;E008 

150101 02:30:30,7 0030;0000;00;00;00;00;0000;0000;80;10;E008 

150101 02:30:30,8 0030;0000;00;00;00;00;0000;0000;00;10;E008 

とこれを好まない:

私は誰かが理解を願っています
150101 03:06:32,8 0030;0000;00;00;00;00;0000; 

    0000;80;10;E008150101 03:06:32,9 

    0030;0000;00;00;00;00;0000;0000;00;10;E008 

    150101 03:06:32,0 0030;0000;00;00;00;00;0000;0000; 
        00;10;E008150101 03:06:33,1 

    0030;0000;00;00;00;00;0000;0000;00;10;E008 

私の問題と助け。

答えて

0

使用ReadTo()方法

このメソッドは、指定した値までの文字列を読み込みMSDN description here.

を参照してください。戻り値の文字列には が含まれていませんが、値は入力バッファ から削除されます。

これはまた次のようになります。

データはまた、あなたが文字列のな長さがオールウェイズ同じであれば、 SerialPort.ReceivedBytesThresholdを設定しようとすることができ、SERIALPORTにかなり早く送っているとき、それは時々起こる
RxString = serialPort1.ReadTo("E008"); 

serialPort1.ReceivedBytesThreshold = 62; 
関連する問題