Avatar billede pkdata Nybegynder
18. august 2004 - 20:51 Der er 10 kommentarer og
1 løsning

com-tester med visual basic

er der noget hurtig kode der kan tjekke om en given comport virker

ex
sende et et tal ud på ben 2 der så kommer tilbage på ben 3

pft
PK
Avatar billede hiks Nybegynder
19. august 2004 - 20:31 #1
mener det kan klares med et mscomm komponent!

Dim X as Integer
On Error Resume Next

For X = 1 to 12
    MSComm1.CommPort = X
    MSComm1.PortOpen = True
    If Err.Number = comPortInvalid Then
        ' comm port "X" svarer ikke
    Else
        ' comm port "X" fungerer
        Combo1.AddItem "com porten " & X, 0
    End If
Next X

/hiks
Avatar billede pkdata Nybegynder
22. august 2004 - 09:56 #2
det ser fint ud til at tjekke om porten er åben  men det konstaterer ikke om der er et flow fra rx til rd 

PK
Avatar billede spuncut Nybegynder
24. august 2004 - 05:33 #3
Du skal bruge :

En MSComm control : oComPort
En Timer          : tmrComOut
To Tekstbox'e    : txtReceive og txtTransmit
En Knap          : cmdTransmit

Kode :

option explicit

Dim vReceive as Variant

Private Sub Form_Load()
    oComPort.CommPort = 1 'COM1 eller COM2 eller....
    oComPort.Settings = "9600,N,8,1"
    oComPort.RThreshold = 1
    oComPort.InputLen = 0
    oComPort.InBufferSize = 1024
    oComPort.OutBufferSize = 512
    oComPort.Handshaking = 0 'Ingen check af Hardwarehandshake
    oComPort.PortOpen = True
End Sub

Public Sub Receive()
   
    tmrComOut.Enabled = True
    Do
        vReceive = vReceive & oComPort.Input
        DoEvents
    Loop Until oComPort.InBufferCount = 0 And tmrComOut.Enabled = False
   
End Sub

Public Sub tmrComOut_Timer()
    tmrComOut.Enabled = False
    txtReceive.Text = vReceive
End Sub

Public Sub Transmit(sSend As String)
    oComPort.Output = sSend & vbCrLf
    DoEvents
End Sub

Private Sub oComPort_OnComm()
   
    Select Case oComPort.CommEvent
        Case "2"
          Receive
        Case Else
           
    End Select
   
End Sub

Private Sub cmdTransmit_Click()
    Transmit txtTransmit.Text
    txtTransmit.Text = ""
End Sub
Avatar billede pkdata Nybegynder
24. august 2004 - 17:26 #4
bruger visual basic.net
er ikke stiv  i programmering

ser ok ud men kan du konvertere den til .net
Avatar billede spuncut Nybegynder
24. august 2004 - 23:52 #5
> pkdata :Det er nok cirka hvad du kan få for 30 point, her i vb-kategorien.
Avatar billede pkdata Nybegynder
25. august 2004 - 08:23 #6
du har nok ret  men når man ikke er den store programmør er det svært at vurdere hvad et spørgsmål er værd...
Men jeg vil da nødig være en fedtsyl  ;-)  hvad er det værd?
PK
Avatar billede spuncut Nybegynder
25. august 2004 - 16:39 #7
Hvis du vil ha' et svar i .NET må du over i .NET-kategorien.
Avatar billede pkdata Nybegynder
25. august 2004 - 17:25 #8
det er ok
har installeret visual basic  og testet din kode  og det virker  tak skal du have
PK
Avatar billede spuncut Nybegynder
25. august 2004 - 17:35 #9
Der er dog et par fejl :
Timerens interval skal sættes til 100
på form_unload sæt oComPort.PortOpen = False
Avatar billede pkdata Nybegynder
25. august 2004 - 21:34 #10
den første havde jeg ramt  men den anden vil jeg prøve....

PK
Avatar billede spuncut Nybegynder
25. august 2004 - 22:59 #11
tnx.... Lad høre hvis der er andet jeg kan hjælpe med.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester