none
прием и разделение данных с com порта на visual basic 2010 RRS feed

  • Вопрос

  • Приветствую Всех!
    У меня собран контроллер с датчиком температуры и влажности. Данные посылаются на com порт (идет температура через 2 секнды влажность итд)
    В vb 2010 я принимаю тип так SerialPort1.ReadExisting но получается что все идет в кучу.
    Как разделить их так чтобы температуры была в одном окне и влажность в другом??
    Help!

Ответы

Все ответы

  • Добрый день.

    Если приведете что вам выдает ваш датчик, то можно и подумать как разделить эти данные. Или же у вас уже есть алгоритм, по которому вы данные разделяете и вам просто показать пример как эти два набора данных показывать в двух разных окнах?

    Отвечающий
  • Добрый!

    С датчика у меня идут уже готовые цифры. сначала температура через 2 секунды влажность итд.

    в окошке (допустим label) у меня отображаются эти данные (температура через 2сек влажность итд)

    мне просто разделить их, чтоб в одной форме была температура а в другой форме влажность

  • Создаете 2ую форму, делаете в ней открытый метод, например public SetTemp(int temp), в котором принимаете соответсвенно значение температуру и выводите его на форму в нужный элемент.

    Из главной формы создаете экземпляр 2ой формы, отображаете его, и в нужные моменты вызываете метод SetTemp.


    Для связи [mail]

  • Вы может пример показать, а то я новичок в программировании на vb (
  • Например так:

    Public Class Form1
        Dim form2 As Form2
        Public Sub New()
            ' This call is required by the designer.
            InitializeComponent()
            ' Add any initialization after the InitializeComponent() call.
            form2 = New Form2()
            form2.Show()
        End Sub
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            form2.SetTemp(24)
        End Sub
    End Class

    И Form2:

    Public Class Form2
        Public Sub SetTemp(temp As Integer)
            Label1.Text = temp.ToString()
        End Sub
    End Class


    Для связи [mail]

  • Я так понял что Вы объяснили мне как получить данные из другой формы?...
    Вопрос у меня был как разделить данные. Т.е в одном окошке (label1) высвечивается только температура, а в другом (label2) только влажность.

    Сможете помочь?

  • Считываете первое значение. Смотрите, на что оно больше похоже? На температуру или влажность. Дальше заводите булевый флаг, который называете IsTemp. Если то что считали темпиратура, то в него записываете true, если влажность - false. Считав очередную порцию данных, меняете IsTemp на противоположное. Смотрите что там сейчас и по схеме предложенной Abolmasov Dmitry выводите на две формы.
    Отвечающий
  • алгоритм я понял. Я считываю просто SerialPort1.ReadExisting. Так можно?

    где нибудь есть пример такой реализации? чтобы я на код посмотрел.

  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]

  • Проблема решена в этой ветке форума.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 25 мая 2012 г. 11:35