Newsgroup: it.comp.lang.visual-basic
Titolo: Invio dati stampante con Open "LPT1:"

C'è nessuno che usa stampare con l'istruzione
Open "LPT1:" For Output As #1
Print #1,.............
????????
Ciao
Sir Jo

 wrote in message
9k4b3p$20o$1...@pegasus.tiscalinet.it...


 Print #1,.............
Lo facevo con QBasic4 ...
_____________________________________________
James Tiberius Kirk, matricola SC 937-076 CEC
  Nato a Riverside, nello Iowa, USA, Terra
            il 1277.1 (26/03/2233)

 Ciao,DaVe
Usando Printer.Print passo attraverso i driver e, anche una
stampante ad aghi, stampa in modalità grafica.
Io vorrei stampare in solo testo (per problemi di
velocità di stampa) e vorrei quindi inviare io alla
stampante eventuali codici di grassetto, compresso o altro.
Voglio provare ad usare il driver "Stampante generica solo testo",
ma non so comunque come fare per testare se la stampante è OnLine
Grazie
Sir Jo

Rispondo sopra per non creare confusione.
Se usi Open "LPT1:" For Output As #1 anziche' Printer.Print {variant}
non passi per la coda di stampa, ma stampi direttamente.
-> Dave <- ha scritto:

-- 
Samuele Battarra
mail server: 
libero.it
, indirizzo: battarsa@(mail server)
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/leggiminews.html

 Print #1,.............
Su Windows NT io uso "\\.\pipe\Spooler\LPT1" e va tutto bene :^)
Per accedere direttamente alla porta senza passare dallo spooler c'è 
"\\.\NONSPOOLED_LPT1" (che punta, appunto, a \Device\Parallel0)
PS: Se sulla tua macchina non fosse definito questo nome (o se, 
cazzarola, ti desse accesso negato, come succede a me :/ ), basta usare 
DefineDosDevice per creare un altro link simbolico che punti a \Device
\ParallelX, dove X è l'indice (zero-based) della periferica parallela, 
che potrai poi accedere come \\.\<nome link>
PPS: Scherzo, se vuoi farlo, fallo, ma solo a scopi educativi. Non usare 
mai DefineDosDevice in un programma vero
PPPS: qualcuno potrebbe obiettare che su Windows NT c'è la periferica 
"PRN". Ebbene, \??\PRN è un link simbolico a \DosDevices\LPT1, a sua 
volta un link simbolico a \??\LPT1, che a sua volta punta a \Device
\NamedPipe\Spooler\LPT1 ;^) Usate comunque "\\.\PRN", c'è una certezza 
quasi al 100% che esista e punti alla stampante predefinita
PPPPS: mai usare GetVersionEx per discriminare bovinamente tra Windows 
9x e Windows NT! Nel caso particolare, il comportamento va deciso in 
base al risultato di un CreateFile usato per aprire "\\.\vwin32". Se il 
file viene aperto correttamente, controllare se Kernel32.dll esporta la 
funzione "QueryDosDevice" (LoadLibrary + GetProcAddress). Se la esporta, 
si tratta di un Windows NT con un'emulazione (vera? fasulla?) 
dell'emulazione DOS di Windows 9x. Roba da evitare come la peste. Sennò 
è un Windows 9x autentico => usare "LPT1" come nome di file (senza i due 
punti :^). Se il CreateFile fallisce, o è un Windows 9x che "c'ha grossa 
crisi" (possibili sintomi: defrag e scandisk non funzionanti), o un 
Windows NT normalissimo :)
PPPPPS: Oddio, potrebbe bastare il controllo della presenza della 
funzione "QueryDosDevice". Sarebbe un falso positivo solo in caso di un 
debugger che cerca di tirarci scemi :)

> Su Windows NT io uso "\\.\pipe\Spooler\LPT1" e va tutto bene :^)
[.....]
Grazie della tua risposta "kilometrica".
Io uso già Open "LPT1"........
e mi funziona bene (su Win98),
ma volevo sapere come fare per testare
se la stampante è OnLine
Ciao
Sir Jo