VB6-zapis danych do tablicy

Miejsce na posty nie związane z powyższymi
ODPOWIEDZ
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

VB6-zapis danych do tablicy

Post autor: Henryk » 29 mar 2020, 15:20

Witam :D

Mam kłopot z wstawieniem danych do tablicy , powinienem napisać nie potrafię ;) :( Visual Basic 6 .
Jedyne co udało mi się uzyskać , to odebrać cały ciąg i "wyłuskać" dane za pomocą funkcji MID , działa prawie dobrze o ile dane1 i dane2 mają cztery znaki .
Tablica byłaby lepszym rozwiązaniem , ale z nią mam kłopot .

Poniżej linia którą wysyłam z atmegi , Dane1 i Dane2 , to zmienne Dword .
  1. Print "Odebrano" ; "," ; Dane1 ; "," ; Dane2 ; Chr(13)
Tu moje wypociny z VB6 .
  1.  Private Sub MSComm1_OnComm()
  2.     Dim InBufor As String
  3.         InBufor = MSComm1.Input
  4.           If MSComm1.CommEvent = comEvReceive Then
  5.              Label13.Caption = Mid(InBufor, 1, 8) ' potwierdzenie odebranych danych
  6.             Label14.Caption = Mid(InBufor, 10, 4)' Dane1
  7.             Label15.Caption = Mid(InBufor, 15, 4)'Dane2
  8.             End If
  9.          InBufor = ""
  10.    
  11.     End Sub
Próbowałem zrozumieć zasady z Bartka przykładu :arrow: Klik, niestety VB6 niektórych rzeczy nie przyjmuje z Visual Studio 2010 .

Mogę liczyć na podpowiedź , jak zapakować odebrane dane do tablicy :?: o ile ktoś używa tego zabytkowego programu :)
W sieci znalazłem wiele przykładów , tylko nie potrafię ich przełożyć na VB6 :(
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Re: VB6-zapis danych do tablicy

Post autor: Henryk » 29 mar 2020, 16:22

Znalazłem pewne rozwiązanie :!: :D
  1.   Private Sub MSComm1_OnComm()
  2.     Dim InBufor As String
  3.     Dim tablica() As String
  4.             InBufor = MSComm1.Input
  5.           If MSComm1.CommEvent = comEvReceive Then
  6.               Label13.Caption = InBufor
  7.               tablica() = Split(Label13.Caption, ",")
  8.               Label14.Caption = tablica(0)
  9.               Label15.Caption = tablica(1)
  10.               Label16.Caption = tablica(2)
  11.            
  12.          End If
  13.               InBufor = ""
  14.            Timer1.Enabled = True
  15.         End Sub
Mała poprawka do lini wysyłanej z atmegi , musiałem dodać na końcu jeszcze jeden "," , teraz program VB6 odbiera dane za każdym razem poprawnie .
  1.  Print "Odebrano" ; "," ; Dane1 ; "," ; Dane2 ; "," ; Chr(13)  
Pytanie , czy może być użyte tekie przesyłanie danych jako poprawne w programie :?:
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: VB6-zapis danych do tablicy

Post autor: niveasoft » 30 mar 2020, 11:22

Czasem szybciej się sprawdza samemu :P
ODPOWIEDZ