Newsgroup: it.comp.lang.pascal
Titolo: Aiuto: stampare in TP...

Salve.
Vorrei sapere come usare l'istruzione per stampare.
Io uso...
Program nome_programma;
USES CRT, PRINTER;
VAR testo;
BEGIN;
CLRSCR;
WRITELN('Inserisci il testo che vuoi stampare:');
READLN(testo);
WRITELN(testo, lst);
END.
Ma non funziona.
Ho provato anche ad usare
LST : testo;
al posto della penultima riga, ma non funziona.
Come posso fare?
Grazie,
Roby.


Ecco alcune info che gia' avevo dato
(prelevabili anche dal mio sito
http://users.iol.it/fabio.manzo
  )
Stampare col TP
Stampare e' facile e non si usano unit.
Basta buttare tutto quello che si vuole stampare in un file così 
dichiarato: 
	f:text;
poi gli devi assegnare il nome 'lpt1' se la stampante e' collegata
sulla porta parallela 1 o 'lpt2' se.... 
	assign(f,'lpt1');
	rewrite(f);
a questo punto se vuoi stampare la stringa S basta che fai 
	write(f,S);
se vuoi stampare ed andare a capo 
	writeln(f,S);
Puoi anche stampare variabili di tipo char.
Se per esempio dopo aver stampato alcune cose vuoi andare a pagina 
nuova, basta che fai: 
	write(f,#12);
Questa stessa istruzione va utilizzata alla fine per poter stampare i 
dati eventualmente ancora presenti nel buffer della stampante. In 
alternativa è possibile utilizzare i tasti della stampante.
La stampante viene trattata in tutto e per tutto come un file. Così è 
facile anche controllare se la stampante è accesa. Infatti basta
provare a scrivere qualcosa e controllare il valore di IOResult
(ricordandosi di utilizzare gli {$I-} e {$I+} ).
 
Ciao,   Fabio
fabi...@rocketmail.com

Un bel di' Roby scrisse:
R> Program nome_programma;
R> USES CRT, PRINTER;
R> VAR testo;
R> BEGIN;
R> CLRSCR;
R> WRITELN('Inserisci il testo che vuoi stampare:');
R> READLN(testo);
R> WRITELN(testo, lst);
R> END.
R> 
R> Ma non funziona.
R> Ho provato anche ad usare
R> LST : testo;
R> al posto della penultima riga, ma non funziona.
R> 
R> Come posso fare?
R> 
E' la stessa soluzione che ti ha proposto Fabio, solo che con la sua capisci
un po' di piu' quello che stai facendo.
comunque, quando fai lo "uses Printers;", dichiari un file cosi':
var lst:text;
begin
 assign(lst,lpt1);
 rewrite(lst);
end.
cosicche', quando stampi, non fai altro che scrivere in questo file.
Pero' devi fare:
writeln(lst, testo);
e non il contrario :-D
-- 
"In ogni impresa umana, il lavoro cerca sempre il livello gerarchico piu'
basso", assioma di Vail
-- 
Emanuele Cesena
d.a.m...@iol.it
    occhio all'antispam NOSPAM!
http://www.geocities.com/SiliconValley/Grid/8879

(ricordandosi di utilizzare gli {$I-} e {$I+} )."????
Grazie,
Roby.

 wrote:

1) La unit PRINT non l'ho mai ustata e non so che procedure mette a
disposizione. Nella unit CRT non c'e' niente per stampare.
2) WRITE(f,s)  scrive la stringa S;
REWRITE(f,s) scrive la stringa S e va a capo.
REWRITE(f,s) = WRITE(f,s+#10+#13)
3) I dati inviati alla stampante non vengono immediatamente stampati.
Nelle stampanti ad aghi (penso anche per in quelle a getto
d'inchiostro) quando gli viene inviata una riga da stampare questa non
viene subito stampata ma si attende che la riga sia terminata (i
caratteri vengono messi in un buffer), ovvero si attende che venga
inviato il carattere di fine linea (LF=#10+#13). Nelle stampanti di
pagina, tipo le laser, la pagina non viene stampa finche' questa non
viene completata o viene inviato il carattere di fine pagnia (#12).
Le info IOResult gia' le ho postate tempo fa. Se non le hai lette e ti
interessano ricercati i messsaggi vecchi o vai la mio sito.
Spero questa volta di essere stato chiaro.
Ciao,  Fabio.
fabi...@rocketmail.com

Chiarissimo...
...ma è possibile anche definire i margini della stampa e scegliere con
quale colore stampare?
Grazie,
Roby.

 wrote:

Per i margini penso che ti debba arrangiare mettendo tu degli spazi,
per il colore devi vedere il manuale.
Fabio
fabi...@rocketmail.com

Un bel di' Fabio M. scrisse:
FM> 2) WRITE(f,s)  scrive la stringa S;
FM> REWRITE(f,s) scrive la stringa S e va a capo.
FM> 
FM> REWRITE(f,s) = WRITE(f,s+#10+#13)
FM> 
Eh eh eh... passi troppo tempo davanti al PC... poi ti fuma il cervello!! :-DDD
Rewrite(f) serve per aprire un file e cancellarne il contenuto :-)
Ciao!!
-- 
"Un esperto e' una persona che evitando tutti i piccoli errori, punta dritto
alla catastrofe", definizione di Weinberg



BECCATO.
Volevo dire WRITELN al posto di REWRITE.
Ciao,  Fabio
fabi...@rocketmail.com