Di nuovo ciao a tutti!! Ormai tutti i giorni sono qui a stressarvi!!! 
Nel mio programmino ho una ListBox a seleziona multipla popolata con i record della tabella CERTIFICATI (più precisamente, con nomi dei certificati (varchar(5)). L'utente deve selezionare da una ComboBox un codice lotto e dalla ListBox uno o più nomi di certificato. Il programma permette di stampare etichette con un QRCODE e, a fianco, il contenuto del codice. Se l'utente seleziona un solo certificao, nessun problema; ma se ne seleziona più di uno, la stampa fa un po' schifo.
Ecco un'immagine:
Scansiona 21-ott-2013 14_24-page2.jpg
Come faccio ad ottenere un risultato tipo questo:
cioè i certificati separati da uno spazio solo e da una virgola?
Ecco il mio codice:
codice:
Private Sub cmdStampa_Click()
If cboLotto.ListIndex = -1 Then
MsgBox "Nessun codice lotto selezionato!"
End If
If lstCertificati.ListIndex = -1 Then
MsgBox "Nessun certificato selezionato!"
End If
If cboLotto.ListIndex <> -1 And lstCertificati.ListIndex <> -1 Then
Dim strBuff As String
Dim PercorsoFile As String
PercorsoFile = "C:\Users\Elena\Desktop\Output.prn"
'Leggo tutto il file in modalità binaria e salvo il contenuto in una variabile stringa strBuff
Open PercorsoFile For Binary As #1
strBuff = Space(LOF(1))
Get #1, , strBuff
Close #1
Dim i As Integer
Dim stringa As String
For i = 0 To lstCertificati.ListCount - 1
If lstCertificati.Selected(i) Then
stringa = stringa + lstCertificati.List(i)
End If
Next
'eseguo il replace delle parole che voglio modificare
strBuff = Replace(strBuff, "TIPO, LOTTO, CERTIFICATO", "QRCERT, " & cboLotto.Text & ", " & stringa & "")
strBuff = Replace(strBuff, "Testo tipo", "Tipo: QRCERT")
strBuff = Replace(strBuff, "Testo lotto", "Lotto: " & cboLotto.Text & "")
'MsgBox stringa
strBuff = Replace(strBuff, "Testo certificati", "Certificati: " & stringa & "")
Open "C:\Users\Elena\Desktop\Output1.prn" For Binary As #1
Put #1, , strBuff
Close #1
Call InviaTcp(strBuff)
Else
Exit Sub
End If
End Sub
codice:
Private Function InviaTcp(strInvia As String)
cmdStampa.Enabled = False
w.Connect
Do While w.State <> sckConnected
DoEvents
Loop
w.SendData strInvia
End Function
Grazie mille di nuovo a chi mi vorrà aiutare!