Newsgroup: it.comp.lang.visual-basic
Titolo: Stampa con visual basic

Salve a tutti. ho un problema e spero che qualcuno di voi riesca ad
aiutarmi.
Ho un form che esegue alcuni calcoli i cui risultati devono essere stampati
in un formato particolare con un carattere ben preciso (in pratica devo far
compilare automaticamente una scheda evitando cosě di scrivere a mano)
come faccio a fare stampare in un punto preciso del foglio?
Quale funzione mi aiuta ad utilizzare la stampante?
grazie a tutti per le informazioni

[*Paolo C.* : 
paolo...@libero.it
] ha scritto:

Se usi Printer, ti basta impostare Printer.Current<X Y> e poi stampare

ma queste coordinate in che unità di misura sono espresse? O devo andare per
prove successive?


le unita' di misura per la stampante sono espresse attraverso la proprieta'
ScaleMode dell'oggetto Printer.
Cerca nella guida in linea di VB la parola Scalemode e vedrai che ti
verranno spiegate con estrema chiarezza le varie possibilita
Ciao

scusate... ma se mando in stampa un testo con printer.print("ciao") non mi
stampa niente... coe mai? devo utilizzare per caso la finestra di dialogo
mscomm?

 mscomm?
Per far uscire la stampa, quando hai dato tutte le Print per la pagina, devi
dare un Print.EndDoc (fine sessione/file di stampa) oppure Print.NewPage
(vai a pagina nuova)

 (vai a pagina nuova)
Volevo dire Printer.EndDoc e Printer.NewPage. Pardon.

ti ringrazio molto... cmq il mio problema è: c'è un modo più semplice? ho il
foglio prestampato in word e sinceramente non voglio credere che io debba
scrivere mille istruzione per riprodurlo in visau lbasic.. qualcuno sa darmi
qualche suggerimento?

 ti ringrazio molto... cmq il mio problema è: c'è un modo più semplice? ho

Tu avevi detto qualcos'altro nel tuo primo post.
Come pensi che una stampante possa ottenere su un foglio bianco quello che
non ha? Glielo devi dire, riga per riga, rettangolo per rettangolo, pixel
per pixel. Tu avevi parlato di una scheda già pronta, solo da compilare. Se
la situazione è questa, qual è il problema? Ti posizioni nei punti esatti,
assegni il font e vai di Print.
Se hai un file Word che vuoi riprodurre pari-pari ti conviene importarlo in
un RichTextBox e con le apposite proprietà stamparlo. Non è immediato, te lo
dico subito. Il RichTextBox è, di fatto, Word, con qualche centinaio di cose
fra metodi e proprietà.
Altra via (ma non garantisco sull'accuratezza della stampa) scannerizzare il
foglio e usarlo come immagine da mettere in una Picturebox e stampare sempre
con Printer. Aggiungendo poi le informazioni "variabili".

excuse me :-)
eppure dovrei saperlo fare... come si fa ad impostare il font per la stampa?

 eppure dovrei saperlo fare... come si fa ad impostare il font per la
stampa?
Printer.Font.eccetera=...
Attenzione!!!
Devi avere l'help regolarmente installato, altrimenti, quando dai queste
istruzioni, ti esplode il video in faccia.

per impostare ad esempio il carattere?le altre prorpietą tipo bold, italic
ho capito, ma il nome del carattere, ad esempio se voglio utilizzare courier
new?

 per impostare ad esempio il carattere?le altre prorpietą tipo bold, italic

Printer.Font.Name
=...
La guida!!! <eg>

sono un disturbatore, ma su font trovo di utto trane quello che mi serve
nella guida :-) cmq devoi scrivere
printer.font.name
="courier new"? se č cosě non funziona :-)

 
printer.font.name
="courier new"? se č cosě non funziona :-)
Prova con Printer.FontName, magari anche entrambe le sintassi.
Scrivi il nome esattamente. Deve andare!

tutto ok... ti chiedo solo un'ultima cosa e poi mi accingo in quest'opera
così difficoltosa :-) posso utilizzare il carriage retur oppure per stampare
alla riga successiva devo posizionare di nuovo currentx e currenty?
grazie di tutto

 tutto ok... ti chiedo solo un'ultima cosa e poi mi accingo in quest'opera

Paolo, i vecchi concetti vanno dimenticati (non sto escludendo la stampa del
CR/NL, mi riferisco al nuovo concetto): Considera il foglio di carta come un
foglio da disegno, non più come una serie "trasparente" di righe e
colonne... sul quale tu puoi disegnare punti, caratteri, frasi, immagini,
linee, etc.
Quindi ti consiglio di usare sempre e solo Current<X e Y>. Fai un po' di
prove, inventandoti i casi più strani (e consuma un po' di carta). Vedrai
che tutto ti risulterà più chiaro.
Suggerimento (a parte la definizione): Puoi anche dirigere tutta la stampa
su un oggetto PictureBox a video, con i vari Scale-eccetera pari a quelli
della Printer. Cambia solo Printer.eccetera in Nome_della_picture.eccetera.
Otterrai esattamente le stesse cose, insomma, ... l'anteprima.