Newsgroup: it.comp.lang.visual-basic
Titolo: Stampante zebra Z4M

Devo far stampare da una procedura in Vb una etichetta tramite la stampante 
in questione su un modello di etichetta generato tramite bar-one.
Dove potrei reperire informazioni o meglio esempi?
Grazie in anticipo.
Gab

 bar-one.
Cos'è un 'bar-one'?
Un alcolista dal sangue blu?
Alberto
-- 
E tutto mi sembrava andasse bene... 

 Alberto
ROTFL
Miiii di solito faccio io battute del genere, ma non l'avevo capita!!!! 
ROTFL
Bar-one è un programma che viene fornito assieme alla stampante. Con la 
versione platinum viene fornito un activex di gestione, ma con la lite 
niente. So che è possibile stampare perchè il fornitore mi ha offerto un 
corso per insegnarmi a farlo senza activex, ma volevo fare da solo
Gab 

 
bye
r

 > 
Si tratta solo (dici poco) di inviare su una stampante definita come "solo
testo" meglio se direttamente su LPT1 i comandi per la stampa.
Un esempio (vecchio di più di 10 anni):
Function PreparaEtichettaZebra(Quanti As Integer, Barcode As String,
Azienda As String, _
                            Optional DataProduzione As String = "",
Optional OraProduzione As String = "", _
                            Optional Linea As String = "", _
                            Optional Pedana As String = "") As String
    Dim st As String
    Azienda = NormalizzaCampi(Azienda, 20)
    If DataProduzione = "" Then DataProduzione = Format(Now(), "mmddyy")
    DataProduzione = NormalizzaCampi(DataProduzione, 7)
    If OraProduzione = "" Then OraProduzione = Format(Now(), "hh\:mm")
    Pedana = NormalizzaCampi(Pedana, 7)
    Pedana = Pedana + String(7, " ")
    Linea = NormalizzaCampi(Linea, 7)
    OraProduzione = NormalizzaCampi(OraProduzione, 7)
    DataProduzione = NormalizzaCampi(DataProduzione, 7)
    lotto = NormalizzaCampi(lotto, 7)
    st = "^XA" + vbCrLf + "^LH150,50^FS" + vbCrLf
    st = st + "^FO40,5^B2N,120,N,N^FD"
    st = st + Format(Quanti, "0000000") + Barcode + String(7, " ") + "^FS"
+ vbCrLf
    st = st + "^FO100,135^AAN,20,10,^FD" + Format(Quanti, "0000000") +
String(5, " ")
    st = st + Barcode + vbCrLf + "^FO60,155^GB380,30,2^FS" + vbCrLf
    st = st + "^FO60,129^GB380,25,2^FS" + vbCrLf
    st = st + "^FO208,130^GB0,56,2^FS" + vbCrLf
    st = st + "^FO60,165^AAN,10,10,B^FD     QUANTITA    COD.PRODOTTO^FS" +
vbCrLf
    st = st + "^FO440,120^AAR,30,15,B^FD" + Azienda + "^FS" + vbCrLf
    st = st + "^FO400,200^AAR,20,8,B^FDDATA PRODUZIONE^FS" + vbCrLf
    st = st + "^FO400,310^AAR,20,10,B^FD" + DataProduzione + "^FS" + vbCrLf
    st = st + "^FO360,200^AAR,20,8,B^FDORA PRODUZIONE^FS" + vbCrLf
    st = st + "^FO360,310^AAR,20,10,B^FD" + OraProduzione + "^FS" + vbCrLf
    st = st + "^FO320,200^AAR,20,8,B^FDPROVENIENZA LINEA^FS" + vbCrLf
    st = st + "^FO320,310^AAR,20,10,B^FD" + Linea + "^FS" + vbCrLf
    st = st + "^FO280,200^AAR,20,8,B^FDPROGRESS. PEDANA^FS" + vbCrLf
    st = st + "^FO280,310^AAR,20,10,B^FDN." + Pedana + "^FS" + vbCrLf
    st = st + "^FO240,200^AAR,20,8,B^FDLOTTO^FS" + vbCrLf
    st = st + "^FO240,310^AAR,20,10,B^FDN." + lotto + "FS" + vbCrLf
    st = st + "^FO60,200^GB165,210,2^FS" + vcbrlf
    st = st + "^XZ" + vbCrLf
    PreparaEtichettaZebra = st
End Function
Function NormalizzaCampi(Campo As String, Lunghezza As Integer) As String
    Campo = Campo + String(Lunghezza, " ")
    NormalizzaCampi = Left(Campo, Lunghezza)
End Function
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:d5vj69$gs9$1...@domitilla.aioe.org...


 "solo testo" meglio se direttamente su LPT1 i comandi per la stampa.
Confermo la versione di Luciano, ho creato dei programmi che stampano su 
zebra usando proprio Bar-One per creare l'etichetta di base. Con XP/2000 
ovviamente dovrai usare una stampante solo testo per poter stampare dato che 
non si ha più accesso all'LPT ...


Ma devo in qualche modo gestire le variabili?
L'integrazione con l'etichetta come avviene?
Non è che hai un pezzetto di codice per ispirarmi?
Grazie ancora
Gab 

 ha scritto nel messaggio
news:d62g0f$blh$1...@fata.cs.interbusiness.it...

Ci sono due modi di stampare sulle etichettatrici:
1 - stampare usando il programa grafico fornito di serie
2 - crearti un file di testo con tutti i comandi ZPLII (se parliamo di Z4M)
ed inviarli alla LPT1 o COMx.
Nella seconda ipotesi hai senz'altro le migliori prestazioni in termini di
velocita' da comando a stampata.
Hai pero' uno scarsissimo controllo su tutte le opzioni in grafica che
possono interessare la stampata, ad esempio inserire solo il marchietto CE
nell'etichetta diventa non difficile ma notevolmente laborioso perche'
dovresti trasformarti il bitmap nel formato Zebra, inviare l'immagine cosi
trasformata nella memoria permanente della stampante e poi usare tale
immagine con i comandi usati per la stampa etichetta. Stessa pappardella per
i font true-type. Inoltre seguendo la seconda strada non hai nessun tipo di
anteprima dell'etichetta e per arrivare all'impostazione richiesta dal
cliente devi prepararti a consumare un numero notevole di etichette proprio
perche' devi procedere a tentativi successivi.
Nella prima ipotesi ha il pieno controllo di tutta l'impostazione
testuale/grafica dell'etichetta pero' devi affidarti ai driver forniti con
il programma / stampante ed essendo tutto in grafica la procedura di stampa
viene molto rallentata, inoltre dal tuo applicativo non puoi 'lanciare' la
stampa di quell'etichetta realizzata con Bar-One a meno che tu non disponga
della versione da acquistare, costo credo dai 500-600 euri in su.
L'ottimale sarebbe la costruzione dell'etichetta usando lo strumento
grafico, e l'avvio della stampa da linea di comando, cosi che
quell'etichetta possa venire stampata da qualsiasi applicativo.
Oltre a Bar-One (che e' abbastanza scarso) ti consiglio di vedere Bar-Tender
che dispone di driver di stampa particolarmente efficaci e veloci.
Se puoi limitare le richieste di grafica sull'etichetta, allora anche la
soluzione 2 (andare a colpi di istruzioni Zebra) permette di avere buoni
risultati.
Viceversa, se l'etichetta e' particolarmente 'graficosa' allora ti consiglio
di prendere in considerazione l'acquisto di un software specifico, tipo il
Bar-tender, che permetta dopo aver creato l'etichetta di essere pilotato
dall'esterno.
Ciao
RobertoA

 di Z4M) ed inviarli alla LPT1 o COMx.
Fortunatamente l'etichetta del cliente non ha niente di grafico e quindi ho 
usato il modo 2. Domani la consegno, speriamo in bene!!!