Newsgroup: it.comp.lang.visual-basic
Titolo: Stampa moduli cartacei

Ciao a tutti,
ho la necessità di stampare da un programma VB dei moduli di certificazione
di conformità per apparecchiature elettroniche.
Questi moduli prevedono sezioni di testo fisse e altre compilate
dall'operatore che effettua la certificazione.
Che approccio mi consigliereste per getire questo tipo di stampe?
Scrivere da codice un doc Word, oppure gestire il tutto con un oggetto
Printer, o altro????
Grazie,
Marco
--------------------------------
Inviato via 
http://usenet.libero.it

 Marco
ciaociao


 Printer, o altro????
Printer, fortissimamente Printer


In pratica leggerei da Database i dati e li stampo tramite l'oggetto
Printer. E se devo stampare anche tabelle, grafici e immagini? Mi conivene
salvare i file immagine su disco e generare al momento della stampa grafici
e tabelle sulla base dei dati?


con l'oggetto printer fai tutto. per le tabelle vedi il metodo .Line 
dell'oggetto.
Con un po di pazienza stampi tutto cio' che vuoi.
Ti segnalo i seguenti link:
http://www.desantis.archimedianet.it/Appunti%20VB/Printer.html
http://www.micromy.it/sx/rubriche/approfondimentivb/stampareinvb/printer2
.html
Ciao
-- 
Vincent
VB6+SP5 Windows 2000 SP3
MSDE 7

Il 01 Apr 2003, 13:10, Vincenzo Morgante <vmor...@NOSPAMhotmail.com> ha
scritto:

Ok, penso che con la dovuta pazienza riuscirņ a stampare tutto.
Se volessi salvare su file i moduli che stampo, per poi poterli richiamare,
senza ricostruire tutti i dati leggendoli da DB, esiste un modo semplice per
farlo? Ad es. potrei creare dei file con un'estensione che poi associo al
mio pgm.
Ciao,
Marco


 mio pgm.
No, IMHO. Struttura la Sub/Function di stampa in modo che si aspetti un
oggetto generico. Il chiamante passerà a tale argomento la Printer o una
PictureBox (opportunamente adeguata in ScaleMode, Width, Height e ... forse
qualcos'altro) e la S/F si limita a fare oggetto.Print eccetera.
Se è una PictureBox puoi sempre usare le funzioni PaintPicture, SavePicture,
LoadPicture etc. passando oggetto.Image e ti salvi (no, per la definizione,
che fa un po' schifo, ti devi "accontentare") il file corrispondente
all'immagine e ... hai fatto.

VsPrinter che fa parte del componente VsView (
www.componentone.com
)
L'ho usato molto e posso dirti che è favoloso!
Ha la semplicità dell'oggetto Printer con molte proprietà, eventi e metodi
in più da sfruttare.
Tra le principali funzioni: anteprima con possibilità di zoom con i tasti
destro/sinistro del mouse, gestione delle pagine, overlay.
Un'altra cosa molto importante: il VsPrinter permette di salvare la stampa
in un formato proprietario in modo da poter creare un archivio dei documenti
che sono allo stesso tempo criptati. Sempre con il VsPrinter puoi riaprirli
in una finestra di anteprima.
Ciao, Vincenzo

 
Puoi fare cosi' oppure salvare l'immagine come ti hanno suggerito.
Preferisco costruirmi i record da stampare in delle tabelle e poi lancio
la routine di stampa passandogli la chiave dei record che mi
interessano. 
Saluti




Penso proprio che userò l'oggetto Printer; l'unica cosa è che devo stampare
anche dei grafici: potrei ricostruirli ogni volta a partire dai dati
presenti nel DB, oppure salvarli come immagini sul disco e richiamarli in
fase di stampa.
Quale soluzione consigliereste?


 Quale soluzione consigliereste?
Dipende dal tipo di grafico e dalla quantita'
di stampe alla volta che devi fare :)
Io consiglierei (se hai routine gia' pronte)
di ricostruire il grafico di volta in volta
ed usare il comodo PaintPicture dell'oggetto
printer.
Occhio che se usi MSChart, l'unico modo di
stampare senza visualizzare il grafico e'
di utilizzare una picturebox (anche invisbile)
di appoggio, e la clipboard. Infatti per esportare
un grafico devi usare il metodo EditCopy del
controllo MSChart (per copiarlo nella clipboard)
e poi un bel
   PictureBox.PaintPicture Clipboard.GetData, 0, 0
per caricarlo nella picturebox.
In alternativa puoi incasinarti con le api, e
catturare l'immagine dallo schermo, c'e' un
buon post di hal che spiega come farlo, anche se io
non ho ottenuto grandi risultati (le immagini venivano
sfasate).
Just my two eurocent,
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org