02. september 2004 - 21:11Der er
8 kommentarer og 1 løsning
input fra comport fortsat
Hej jeg har fået et godt lille stykke kode her på siden :)
Dim PortTimeout As Boolean
Private Sub Command2_Click() PortTimeout = False If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = 2 MSComm1.Settings = "9600,N,8,1" MSComm1.InBufferSize = 1 MSComm1.PortOpen = True Do Data = MSComm1.Input If Data <> "" Then Text1.Text = Text1.Text & Data End If DoEvents If PortTimeout Then Exit Do Loop MSComm1.PortOpen = False End Sub
Private Sub Command3_Click() PortTimeout = True End Sub
Nu har jeg så bare det problem at input bliver splittet op forkert, jeg bruger en stregkodescanner, og vil sikre mig at den først går videre når den har modtaget hele koden ( eks slutkarakter er fast ¤) hvordan kan jeg gøre det altså så den venter med at sende data videre indtil den møder et ¤ //Dark
Private Sub Command2_Click() PortTimeout = False If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = 2 MSComm1.Settings = "9600,N,8,1" MSComm1.InBufferSize = 1 MSComm1.PortOpen = True Do Data = MSComm1.Input If Data <> "" Then Text1.Text = Text1.Text & Data End If DoEvents If PortTimeout Then Exit Do
Loop Until Right(Text1.Text, 1) = "¤" ' eller find ascii koden for tegnet 'Loop Until Len(Text1.Text) = 15 ' eller hvis du kender antal tegn
Private Sub Command2_Click() PortTimeout = False If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = 2 MSComm1.Settings = "9600,N,8,1" MSComm1.InBufferSize = 1 MSComm1.PortOpen = True Do Data = MSComm1.Input If data = "¤" then exit do If Data <> "" Then Text1.Text = Text1.Text & Data End If DoEvents If PortTimeout Then Exit Do
har fundet ud af den del, men der dukkede en anden sag op. Den bryder jo do loopet :( det vil jeg ikke, jeg skal blive ved med at have porten åben for input
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.