Avatar billede enric Nybegynder
02. september 2002 - 20:54 Der er 1 kommentar og
1 løsning

MSComm1.PortOpen = True

Er der  nogen som kan hjælpe mig??
Det drejer sig om kunde display til en kasseapparat........

Jeg har de to nedstående programmer Display2 har jeg ingen problemer med, men Display3 gir mig nogen, ikke første gang men anden gang, når jeg når MsComm1.PortOpen = True så siger “Port already open” fejl 8005, hvis jeg nu bytter True med False,  så siger “The device is not open” fejl 8012  ?????????? Underlig ikke ????????

Private Sub Display2()
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = 2
  MSComm1.OutBufferCount = 0
    MSComm1.OutBufferSize = 0
  MSComm1.PortOpen = True
    MSComm1.Output = Chr(12)
        MSComm1.Output = Chr(12)
        MSComm1.Settings = "9600,N,8,1"
Dim Valor As String
          MSComm1.Output = Form1.DataGrid2.Columns(3) & vbCrLf  '** Navn **
      MSComm1.Output = "Stk." '& vbCrLf ' + Asc(84) + Asc(75) & Asc(46) & vbCrLf
            MSComm1.Output = Chr(27) + Chr(108) & Chr(6) & Chr(2) 'flytte til x y
      MSComm1.Output = Form1.DataGrid2.Columns(1) & vbCrLf  '** Enhed **
        MSComm1.Output = Chr(27) + Chr(108) & Chr(10) & Chr(2) 'flytte til x y
      MSComm1.Output = "Kr."
            MSComm1.Output = Chr(27) + Chr(108) & Chr(14) & Chr(2) 'flytte til x y
      MSComm1.Output = Form1.DataGrid2.Columns(2) & vbCr '** Pris **
End Sub

**************

Private Sub Display3()
  MSComm1.CommPort = 2
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
If MSComm1.PortOpen = False Then a = 9
MSComm1.OutBufferCount = 0
  MSComm1.OutBufferSize = 0
  MSComm1.PortOpen = True
    MSComm1.Output = Chr(12)
MSComm1.Output = Chr(12)
        MSComm1.Settings = "9600,N,8,1"
' Dim Valor As String
          MSComm1.Output = "Ialt Kr.  " '& vbCrLf ' + Asc(84) + Asc(75) & Asc(46) & vbCrLf
          MSComm1.Output = Text1 & vbCrLf
      MSComm1.Output = Chr(27) + Chr(108) & Chr(1) & Chr(2) 'Chr(10) & Chr(2) 'flytte til x y
      MSComm1.Output = "Kr. tilbage"
    MSComm1.Output = Chr(27) + Chr(108) & Chr(15) & Chr(2) 'Chr(6) & Chr(2) 'flytte til x y
      MSComm1.Output = Text3 & vbCrLf
                  ' MSComm1.Output = Chr(27) + Chr(108) & Chr(14) & Chr(2) 'flytte til x y
End Sub
Avatar billede scb Praktikant
02. september 2002 - 22:11 #1
Det er noget rod at sætte baud osv efter at porten er åben.

I opstart af programmet (Form1.load sætter du MSComm1.Settings = "9600,N,8,1") og port nr (MSComm1.CommPort = 2) en gang for alle.
Herefter åbner du porten i starten af din sub og lukker den igen når du er færdig.

-SCB
Avatar billede enric Nybegynder
03. september 2002 - 13:00 #2
Selvfølgelig, tak for hjælpen nu virker det,du får 100 point
Enric
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