Tema: Re: Dar pora klausimų apie Visual Studio
Autorius: Shadowed
Data: 2019-08-19 16:49:08
Persirašiau beveik viską iš naujo ant VB.. Bl, tas pats, duomenis įmeta tik 
antru paspaudimu, pirmą įmeta kaip tuščia info, tik gal vbCrLf du kartus 
imeta. Kodėl bl...?



Private Sub button_READ_RAW_DATA_Click(sender As Object, e As EventArgs) 
Handles button_READ_RAW_DATA.Click
    If (serialPort1.IsOpen) Then
        serialPort1.Write("<1>")
        Dim raw_data_in As String = serialPort1.ReadExisting
        tBox_RAW_DATA.Text += raw_data_in & vbCrLf & vbCrLf
    End If
End Sub

Cia padaryta, kad siunčiu Arduinui vienetą, jis atsako su savo duomenim, 
appsas juos įmeta į tBoxą RAW DATA ir du kartus permeta eilute žemyn. Tai va 
tuos permetimus man atrodo įmeta ir pirmu paspaudimu. Bet kur duomenys? Gal 
reikia kokią pauzę įdėti tarp SerialPort1.Write ir nuskaitymo?


"Shadowed"  parašė naujienų news:qje34s$9f$1@trimpas.omnitel.net...

Visgi reikia kažkaip suprasti, kodėl tas nuskaitymas toks kreivas, iš antro
paspaudimo tik gaunu tai ko reikia... Matyt jis man čia visą reikalą gadina.



"Shadowed"  parašė naujienų news:qje2g0$v8t$1@trimpas.omnitel.net...

Kad suprasčiau pasirašiau va taip:


hour = "FEFF";    //hour_data_in.PadRight(20).Substring(16, 4).TrimEnd();
hour_dec = Int32.Parse(hour, System.Globalization.NumberStyles.HexNumber);

tBox_MHR2_READ.Text = hour_dec.ToString();

Ir suveikė. Tai gaunasi, kad priskyrus kažkokią reikšmę hour kintamajam,
šiuo atveju FEFF gavau teisingą atsakymą tBoxe, o nuskaitant iš Arduino
gaunu klaidą:
System.FormatException: 'Input string was not in a correct format.'

Ir man toks klausimas... O nebus čia dėl to, kad po paleidimo pirmas
nuskaitymas kažkodėl nori įmesti duomenis iš ankstesnio nuskaitymo, kurio
ten dar nėra ir viskas sugriūna (čia kur porą postų žemiau klausiau)?


"Shadowed"  parašė naujienų news:qje1g9$u4b$1@trimpas.omnitel.net...

Ok, man dabar daėjo, kad programinimas vyksta C# kalba, o žiūrėjau turbūt VB
pavyzdį. Tai klausimai:

1. Kaip neskausmingai persijungti iš C# į VB, kad išlinktų programos langas
ir tas truputis kurį parašiau ir veikia ?
2. Čia ta dalis kaip ir veikia, su Arduinu siunčiu kol kas nieko
nereiškiančią HEXo eilę per RS232, AAAABBBBCCCCDDDDEEEE, po to ją išskaidau
į 5 segmentus:
AAAA
BBBB
CCCC
DDDD
EEEE

Tą darau taip, gal galima ir gudriau, bet veikia ir gal pradžiai visai
tinkama:

string hour;
........
........
........
hour = hour_data_in.PadRight(20).Substring(16, 4).TrimEnd();
tBox_MHR1_READ.Text = hour;

Ir man teisingai į tBoxą parašo išrinktą EEEE arba kitus 4 simbolių HEXus,
tik Substringe keičiasi pirmas skaičius.

Toliau noriu tą EEEE parašyti dešimtainiu formatu, 61166 būtų. Googlas
padeda rekomenduodamas Dim ........., bet man jau aišku, kad Dim'as
neegzistuoja pas C#, tik pas VB. Čia grįžtam prie pirmo klausimo arba - kaip
su C# parašyti tą HEXą DECu ?