Newsgroup: it.comp.appl.access
Titolo: report su stampante ad aghi

Debbo inviare un report su carta autoricalcante a 3 copie prestampata usando
una stampante ad aghi, una epson lq570+ e la domanda č:
come si fa a dargli i comandi ESC per darle dei comandi particolari, visto
che vorrei usare lo sportello anteriore e fare in modo di stampare le
due/tre righe che mi servono e far espellere la carta rimandandola indietro
automaticamente
grazie per l'aiuto
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 automaticamente
chr(27) & "blabla" ?
--
ac


credo di si, dovrei stampare alcune righe in alto sul modulo e poi tirarlo
fuori (mandandolo indietro, tipo stampanti delle banche per intenderci)



Usando la seriale (non so se questo č il tuo caso) č solo un po' elaborato 
ma nulla di difficile.
Prima di tutto bisogna aprire la porta COM e dare gli opportuni settaggi, 
poi si possono inviare i comandi ESC.
Questo uno spezzone di esempio:
...
If Comm1.PortOpen = False Then
        With Comm1
            .CommPort = SetPorta
            .Handshaking = 2 - comRTS
            .RThreshold = 1
            .RTSEnable = True
            .Settings = Settaggio '"9600,n,8,1"
            .SThreshold = 1
            .OutBufferSize = 1
            .PortOpen = True
            End With
        End If
DoEvents
Dim N As Integer, X As Integer
Dim FileNumber
Dim ESC As String * 1
ESC = Chr$(&H1B)
FileNumber = FreeFile
Open "MioTesto" For Output As #FileNumber
Print #FileNumber, ESC; "@";
Print #FileNumber, ESC; "L";
Print #FileNumber, ESC; "W"; Chr$(0); Chr$(0); Chr$(0); Chr$(0); Chr$(210); 
Chr$(0); Chr$(224); Chr$(1)
Print #FileNumber, ESC; "T"; Chr$(0);
Print #FileNumber, "AAAAAA"; Chr$(&HA);
Print #FileNumber, "BBBBBBB"; Chr$(&HA);
Print #FileNumber, "CCCCCCC";
Print #FileNumber, ESC; Chr$(&HC);
Close #FileNumber
Dim MyChar
FileNumber = FreeFile
Open "MioTesto" For Input As #FileNumber ' Apre il file.
Do While Not EOF(FileNumber) ' Ripete fino alla fine del file.
    MyChar = Input(1, #FileNumber)   ' Legge un carattere.
    Comm1.Output = MyChar
Loop
Close #FileNumber   ' Chiude il file.
DoEvents
-----------------------------------
E' chiaro che bisogna avere un elenco dei codici ESC (escape) ma questi li 
puoi trovare sul manuale della stampante oppure qui:
ftp://ftp.epson.com/drivers/ESCP2.TXT
o qui (anche se non per stampanti Epson č la stessa cosa):
http://www.hecon.com/pdf/PRIMA_SW.pdf
Ciao, Carlo
Ciao, Carlo 

Questo link è ancora più esplicativo:
http://mariottim.interfree.it/doc0e_i.htm
E questi sono i veri e propri riferimenti:
http://support.epson.ru/products/manuals/000350/part1.pdf
http://www.epson.co.uk/support/manuals/pdf/ESCP/Part_2.pdf
Se poi vuoi fare qualcosa di veramente professionale allora devi iscriverti 
qui:
https://www.epsonexpert.com/login
o qui:
https://www.epson-pos.com/cgi-bin/sdssm/main/td_login.jsp
e scegliendo poi l'italiano.
Ciao, Carlo 


ha scritto:

Grazie sei stato gentilissimo, mi faccio un bel giro su questi link,
distillo il tutto e provo :)
ciao, Giovanni


 indietro automaticamente
Personalmente in un file di configurazione metto i riferimenti ad una 
stampante condivisa (può essere anche sulla propria macchina), la 
troverai come \\MIOPC\MIASTAMPANTE.
A questo punto crei un file di transito .txt con dentro tutta la tua 
stampa caratteri di controllo compresi (sul sito Epson da qualche parte 
trovi un file che te li spiega tutti).
Crei il file e in ultimo fai eseguire via shell una copy del tuo file su \
\MIOPC\MIASTAMPANTE.
I vantaggi di una soluzione del genere sono molteplici, hai un 
'anteprima' sempre verificabile sul file .txt, se la carta si inceppa o 
altro e spengono la stampante eviti errori sullo spooler, ti funziona 
anche in rete.