Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Вывод массива на Label


Автор: JonasK 10.10.2017, 12:43
Имеется массив Mas(0 to 9) и 10 Label.При первом выводе все работает правильно.
Но при втором, Mas(0) выводится на Label вторую строку ! Label как бы пустая, так как 
Label только для одной строки. Если выводить Mas(0) на другие Label - становится та же
 проблемма. Как от этого избавится? Спасибо. 
    

Автор: Akina 10.10.2017, 14:20
Цитата(JonasK @  10.10.2017,  13:43 Найти цитируемый пост)
При первом выводе все работает правильно.
Но при втором, Mas(0) выводится на Label вторую строку

Код в студию.

Автор: JonasK 10.10.2017, 15:35
Код

'
' Temperature
' string to Buffer: 21.1#15.7#......34.5#$
Buffer = Buffer + MSComm1.Input
    If Right(Buffer, 1) = "$" Then             
      ProcessBuffer 
      Buffer = ""   
  End If
'  
  Public Sub ProcessBuffer()

   DataPart = Split(Buffer, "#")
    For AVRcode = LBound(DataPart) To UBound(DataPart)
     Next
     
      Label1 = DataPart(0)
       Label2 = DataPart(1)
       '
       '
        Label10 = DataPart(9)
      '
End sub
Код




Автор: Akina 10.10.2017, 15:48
Буфер - он строковый же? замени сложение с инпутом на конкатенацию.

И перед тем, как сплитовать - выведи содержимое буфера в дебаг. Небось там в начале перевод строки обнаружится... 

Автор: JonasK 10.10.2017, 18:20
Сделал как советовали- без измененй. В строке ничего лишнего.
Навели на мысль, что проблемма в посылающей стороне. Но там 
тоже всё чисто. Переслал массив на другой, все равно x(0) переходит на 
вторую строку smile

Автор: Akina 10.10.2017, 20:40
Цитата(JonasK @  10.10.2017,  19:20 Найти цитируемый пост)
 В строке ничего лишнего.

Как проверял? вывел код каждого символа? или так, на глазок?

Альтернативно - когда 
Цитата(JonasK @  10.10.2017,  19:20 Найти цитируемый пост)
x(0) переходит на 
вторую строку

выведи  код каждого символа в Label.Caption.

PS. Чудес не бывает.

Автор: JonasK 13.10.2017, 19:10
Да, каждую переменную вывожу на отдельную Label.
В строке находится 9 температур из котельной.
Передатчик -AVR контроллер.
Попробовал на VB2010-там всё корректно !
Думаю, с посылающей стороной прблем нет.
А есть какой нибудь способ это исправить, т.е. 
вторую строку вернуть на первую ? 

Автор: JonasK 20.10.2017, 17:52
Проблемму решил. A=Val(X(0)) и всё работает. А так даже в фаил строка записывалась с переводом строки smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)