Hirdetés
- Óra vagy karperec? Egészségügyi mindenes!
- Google Pixel 9 Pro XL - hét szűk esztendő
- Fotók, videók mobillal
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S23 Ultra - non plus ultra
- Xiaomi 17 Ultra - jó az optikája
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Telekom mobilszolgáltatások
- Xiaomi 15 - kicsi telefon nagy energiával
- Yettel topik
-
Mobilarena

Új hozzászólás Aktív témák
-
aviator
tag
Sziasztok,
Soros vonalon érkező adatot szeretnék excel táblázatban felhasználni ebben kérnék segítséget.
Mivel még sosem dolgoztam ilyennel, nem akartam feltalálni a spanyol viaszt, ide vezetett a google: http://www.thescarms.com/vbasic/commio.aspx
Ez egy elég jól használható modul, jönnek is szépen az adatok. Egy 10 karakteres stringet kell beolvasnom, a problémám az, hogy nem mindig van meg a 10 karakter, illetve néha több van, tehát bizonytalan az olvasás. A csatolt kódban a Do Loop-ban történik meg a string kivétele a soros bufferből, csak ezek szerint nem mindig a jó pillanatban. Próbáltam rákényszeríteni, hogy csak a 10 karakter hosszú olvasás esetén menjen tovább az első if-nél, megcsinálja, de néha sokáig tart, meg hát nem érzem túl elegánsnak.
Kellene ide egy olyan megoldás, ami kiküszöböli ezt a problémát, de ha valakinek van működő kódja teljesen más alapokon az is tökéletes lenne.Private Sub CommandButton1_Click()Dim intPortID As Integer ' Ex. 1, 2, 3, 4 for COM1 - COM4Dim lngStatus As LongDim strError As StringDim strData As StringintPortID = 3 'Using COM3' Initialize CommunicationslngStatus = CommOpen(intPortID, "COM" & CStr(intPortID), _"baud=9600 parity=N data=8 stop=1")If lngStatus <> 0 Then' Handle error.lngStatus = CommGetError(strError)MsgBox "COM Error: " & strErrorEnd IflngStatus = CommSetLine(intPortID, LINE_RTS, True)lngStatus = CommSetLine(intPortID, LINE_DTR, True)' Read maximum of 64 bytes from serial port.DolngStatus = CommRead(intPortID, strData, 64)If lngStatus > 0 And (Len(strData) = 10) ThenTextBox1.Text = strDataTextBox2.Text = Len(strData)Exit DoEnd IfIf lngStatus < 0 ThenlngStatus = CommGetError(strError)MsgBox "COM Error: " & strErrorExit DoEnd IfLooplngStatus = CommSetLine(intPortID, LINE_RTS, False)lngStatus = CommSetLine(intPortID, LINE_DTR, False)' Close communications.Call CommClose(intPortID)End Sub
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- sziku69: Fűzzük össze a szavakat :)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- sziku69: Szólánc.
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Battlefield 6
- Debrecen és környéke adok-veszek-beszélgetek
- Proxmox VE
- Gran Turismo
- BestBuy topik
- alza vélemények - tapasztalatok
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


