Newsgroup: it.comp.lang.delphi
Titolo: Come resettare stampante ad aghi?

Salve a tutti, questo è il mio problema:
Ho realizzato un software per una biglietteria.
I biglietti vengono stampati tramite i Rave Reports,
e poichè i signori della biglietteria hanno voluto
cambiare le stampanti, ora mi è necessario riposizionare
il foglio (modulo continuo) in modo che il biglietto
successivo venga stampato correttamente...
In pratica devo far tornare INDIETRO il foglio perchè
una volta portato in posizione per poter essere strappato,
affinchè la stampa possa riprendere correttamente, il foglio
deve rientrare dentro la stampante...
Ora, la stampante in questione è una stampante ad aghi piuttosto
recente (EPSON LQ-630), e pensavo di risolvere il problema
con i codici di Escape. Con un'altra stampante + vecchia con
la quale ho fatto le prove (Epson LQ-1050+) tutto funziona bene,
ma con questa ho il seguente problema. In pratica se mando
i codici di escape PRIMA di una qualsiasi stampa windows dal
programma, la stampante reagisce ai codici altrimenti no.
Ecco la parte di codice incriminata:
// ... altro codice
     RvSystem1.SystemPrinter.Title := 'Stampa biglietto N°' + numbiglietto;
     RvProject1.Open;
     RvProject1.ExecuteReport('Report1');     //esegue il report
     RvProject1.Close;
     if MessageDlg('Premere Ok per riposizionare il foglio', mtConfirmation,
     mbOKCancel, 0) = mrOk then
     begin                                 //codici escape per
       AssignFile(MyFile, 'LPT1:');        //portare indietro di
       Rewrite(MyFile);                    //250/180 di pollice
       Writeln(MyFile, #27 + chr(ord('j')) + #250));
       CloseFile(MyFile);
     end;
//..continua
Ora se io ad esempio spengo e riaccendo la stampante prima di
dare Ok al messagedlg tutto procede ok, se no la
stampante non reagisce. Mi servirebbe quindi un aiuto
per resettare la stampante, ma non tramite i codici di
escape (il codice sarebbe #27 + '@') perchè anche
questo non viene considerato se non la spengo e riaccendo..
Scusate se mi sono dilungato, ma è un problema strano
e non sono riuscito a sintetizzarlo... (spero almeno
che sia chiaro)...
Grazie in anticipo a tutti.
Giorgio

premesso che forse, x la stampa di un biglietto, rave potrebbe essere 
eccessivo, la stampnate va su parallela o seriale?
A

la stampnate va su parallela o seriale?
  AssignFile(MyFile, 'LPT1:');  ossia parallela.
Giorgio

 Giorgio
Risposta un pň [OT]:
dovresti controllare se sulla stampante c'č un pulsante
che fa avanzare la carta per lo strappo e la riposiziona
dopo lo strappo. Se cosě fosse dovresti "solo" spiegare
come utilizzare la stampante.
Ciao
Martina

 
Il tasto c'č ma non lo vogliono usare (sigh)
Ciao
Giorgio

Il tasto c'è ma non lo vogliono usare (sigh)
Temo che dovrai usare dei metodi coercitivi.
BTW,proprio stamane un nostro cliente si e' impaccato su una stampante termica
del 94, tale Esselte Meto SP 40. Si e' rovinato i drivers e non ha conservato
i dischetti originali, e "pretende" che gli si metta a posto il pc come
prima... questo significa che il tuo cliente DOVRA' abituarsi a premere quel
tastino innocente ogni volta.
;-)
-- 
Morde. (
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/
Firefox, il miglior browser: 
http://www.gxware.org/mozilla/

> Il tasto c'è ma non lo vogliono usare (sigh)
Dunque , la funzionalità si chiama "Tear off" (in molte stampanti) ,
normalmente alla stampa successiva la carta si riposiziona da sola. Ha visto
eventualmente se è possibile impostare in modo che dopo un certo tempo il
tear off si resetta da solo ?
Certe stampanti, ad esempio oki, permettevano di farlo.
Comunque è strano, io piloto diversi tipi di stampanti di codici a barre e
non ho mai avuto problemi a mandare sequenze di escape.
Prova (lo so che è una porcheria) a fare un batch che fa "echo Esc@ > lpt1:"
e vedere se lo esegue, in tal caso una bella shellexecute ....
Giulio

 ma con questa ho il seguente problema. In pratica se mando
Generalmente in queste stampanti ci sono dei dip-switch che impostano il
modo di funzionamento,
la funzione che ti serve è TEAR-OFF (o qualcosa di simile, è da molto che
non lo uso) che si attiva
per fare strappare il foglio e rientra il foglio non appena inizia a
stampare.
Guarda il manuale e cerca i dip-switch (le nuove stampanti non hanno
dip-switch ma si possono
programmare con procedure particolari)
Ciao