Jag håller på och brottas med ett problem i Visual Basic. Saken är den att jag ska från ett VB-program skriva en del uppgifter till en industriell bläckstråleskrivare, bl a i form av streckkod. Skrivaren är ansluten till PC:n via serieporten och det fungerar att med hjälp av skrivarens terminalprogram (som körs på samma PC) skriva ut motsvarande saker. Problemet ligger alltså i mitt VB-program. Jag använder mig av MSComm-modulen och de inställningar som behöver vara samma (efter vad jag vet) på skrivaren som i egenskaperna för MSComm i programmet (antal databitar, hastighet, paritet, osv) stämmer överens. Jag får ihop textsträngen som ska skickas (har kontrollerat variabelns innehåll i en textruta) så att den ser ut som den ska. Jag öppnar porten, lägger ut textsträngen (i form av en strängvariabel med hjälp av MSComm.Output) och avslutar med att stänga porten. Problemet är att det inte verkar skickas något från VB-programmet till skrivaren. Hej  Vet inte om detta hjälper dig,men iallafall . Igen Hej Nillan.Skicka info via com-porten
    
    
Jag har aldrig tidigare använt MSComm i något VB-program (har helt enkelt aldrig behövt det tidigare) och missar  av den orsaken säkert något väldigt grundläggande. Problemet är att jag inte hittar det i hjälpen eller i någon av de VB-böcker som jag har (de jag har är tyvärr alltför "basic" för detta, har någon förresten något tips på en bra bok som även tar upp dessa bitar?) och alla mina idéer om vad som kan vara felet börjar sina. I min desperation vänder jag mig därför hit med förhoppningen att någon har några bra och lysande idéerSv: Skicka info via com-porten
    
    
MSComm Control Example
The following simple example shows basic serial 
communications using a modem: 
Private Sub Form_Load ()
   ' Buffer to hold input string
   Dim Instring As String
   ' Use COM1.
   MSComm1.CommPort = 1
   ' 9600 baud, no parity, 8 data, and 1 stop bit.
   MSComm1.Settings = "9600,N,8,1"
   ' Tell the control to read entire buffer when Input
   ' is used.
   MSComm1.InputLen = 0
   ' Open the port.
   MSComm1.PortOpen = True
   ' Send the attention command to the modem.
   MSComm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that 
   ' the modem responds with "OK".
   ' Wait for data to come back to the serial port.
   Do
      DoEvents
   Buffer$ = Buffer$ & MSComm1.Input
   Loop Until InStr(Buffer$, "OK" & vbCRLF)
   ' Read the "OK" response data in the serial port.
   ' Close the serial port.
   MSComm1.PortOpen = False
End Sub
mvh
SvenSv: Skicka info via com-porten
    
    
Du har ett bra exempel i din VB  Samples Mapp (tror jag)
Sök på Vbterm.vbp
DSSv: Skicka info via com-porten
    
    
Några tips till dig.
1. Tag reda på om det du skall skicka till skrivaren måste följa ett
    visst protokoll. Om så är fallet måste du följa det till fullo annars
    funkar det inte. Oftast finns ett protokoll. Man kan inte skicka enbart
    godtycklig text. (Antar att du använder en zebra-skrivare).
2. Annars gör du bara följande så skall det funka
Sample Code =====================================
    MSComm1.CommPort = 1
    MSComm1.Settings = "19200,N,8,1"
    If MSComm1.PortOpen = False Then
        MSComm1.PortOpen = True
        MSComm1.Output = "Sträng att skicka"
        While MSComm1.OutBufferCount
            DoEvents
        Wend
        MSComm1.PortOpen = False
    Else
        MsgBox "Porten redan öppen av ett annat program", vbOKOnly + vbInformation
    End If
Sample Code =====================================
3. Ofta måste man avsluta sina strängar med en LF chr(10) eller
    en CR chr(13) eller båda. Kolla i specifikationen för skrivaren
    vilket format den kräver.
/peterh