SABRINA71 Inserito: 24 aprile 2007 Segnala Share Inserito: 24 aprile 2007 Ciao, e salve a tutti, vorrei sapere se qualcuno è riuscito a far funzionare l'esempio riportato sui manuali della DATAMAX per stampare da visualbasic?Il problema è questo ho una stampante DATAMAX W6208 che vorrei far stampare via seriale attraverso un programma VB6 questo è il codice che ho stritto ricalcando quanto indicato nell'appendice B del manuale ma tutto quello che ottengo è un lampeggio:Private Sub Command1_Click() MSComm1.Output = Chr$(126) & "L" & Chr$(13) & "D11" & Chr$(13) & "19110080100002510K OHM 1/4 WATT" & "E" & Chr$(13) End SubPrivate Sub Form_Load() ' Buffer in cui viene memorizzata la stringa di ' input Dim Instring As String ' Utilizza COM1. MSComm1.CommPort = 3 ' Velocità 9600, nessuna parità, 8 bit di dati e ' 1 bit di stop. MSComm1.Settings = "9600,N,8,1" ' Comunica al controllo di leggere l'intero buffer ' quando viene utilizzata la proprietà Input. MSComm1.InputLen = 0 ' Apre la porta. MSComm1.PortOpen = True ' Invia al modem il comando di attivazione. ' modem risponda con "OK". ' Attende il ritorno di dati attraverso la porta ' seriale. 'Do ' DoEvents 'Buffer$ = Buffer$ & MSComm1.Input 'Loop Until InStr(Buffer$, "OK" & vbCrLf) ' Legge il dato di risposta "OK" sulla porta ' seriale. ' Chiude la porta seriale. 'MSComm1.PortOpen = FalseEnd SubPrivate Sub MSComm1_OnComm() Text1.Text = Text1.Text & MSComm1.InputEnd SubQualcuno, ha una idea di cosa sbaglio ?!!Sabrina Link al commento Condividi su altri siti More sharing options...
irpick Inserita: 24 aprile 2007 Segnala Share Inserita: 24 aprile 2007 per prima cosa proverei con HyperTerminal , cavo 2-3-5 (inv 2-3) e 7-8 ponticellati.stringa Chr$(126) & "L" & Chr$(13) & "D11" & Chr$(13) & "19110080100002510K OHM 1/4 WATT" & "E" & Chr$(13)Dim Instring As String' Utilizza COM1.MSComm1.CommPort = 3Utilizza COM3 non com 1! Link al commento Condividi su altri siti More sharing options...
SABRINA71 Inserita: 24 aprile 2007 Autore Segnala Share Inserita: 24 aprile 2007 Sto usando un convertitore USB-RS232 quindi uso la Com3 ma posso modificare la porta e usare una seriale diretta quindi Com1 come da commento (andavo di fretta e non ho corretto)!Non mi è chiaro il cavo da usare con HyperTerminal devo comunque invertire 2 e 3 perchè una prova l'avevo fatta con un cavo diretto come mi era stato suggerito ma non vedo niente; premesso che è la prima volta che faccio una cosa di questo tipo e non so bene come va configurato HyperTerminal!Sai aiutarmi?Grazie Sabrina Link al commento Condividi su altri siti More sharing options...
SABRINA71 Inserita: 24 aprile 2007 Autore Segnala Share Inserita: 24 aprile 2007 Usando HyperTerminal sono riuscita a capire dove è il buco:Carattere da mandare non è Chr$(126) ma Chr(2)Grazie dell'aiuto e alla prossima Link al commento Condividi su altri siti More sharing options...
Bruno Inserita: 26 aprile 2007 Segnala Share Inserita: 26 aprile 2007 Io ti passo questi piccoli TIPS:Global Const SOH = 1Global Const STX = 2Global Const CR = 13Global Const ESC = 27' Controllo stato sStatus = CommPort.Input CommPort.Output = Chr(SOH) & "A" dtSendTime = Now Sleep 500 While (Not bResponse) And (DateDiff("s", dtSendTime, Now) < 2) sStatus = CommPort.Input bResponse = sStatus <> "" Wend If Mid(sStatus, 1, 1) = "Y" Then s = s & vbCr & "Interpeter busy" If Mid(sStatus, 2, 1) = "Y" Then s = s & vbCr & "Paper out or fault" If Mid(sStatus, 3, 1) = "Y" Then s = s & vbCr & "Ribbon out or fault" If Mid(sStatus, 4, 1) = "Y" Then s = s & vbCr & "Printing batch" If Mid(sStatus, 5, 1) = "Y" Then s = s & vbCr & "Busy printing" If Mid(sStatus, 6, 1) = "Y" Then s = s & vbCr & "Printer paused" If Mid(sStatus, 7, 1) = "Y" Then s = s & vbCr & "Label presented"ciaoBR1 Link al commento Condividi su altri siti More sharing options...
Bruno Inserita: 26 aprile 2007 Segnala Share Inserita: 26 aprile 2007 E per spedire la stringa etichetta usa:STX + "L" + CR + LF + "Stringa contenente l'etichetta" + "E" + CR + LFciao Link al commento Condividi su altri siti More sharing options...
bcbel Inserita: 26 aprile 2007 Segnala Share Inserita: 26 aprile 2007 Ma il bit corrispondente a printing batch quando viene messo a 1 che non riesco a vederlo?Bisogna attivare qualche parametro? Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora