Newsgroup: it.comp.lang.visual-basic
Titolo: Data report (o simili)

Salve a tutti
ho fatto un programma il quale dovrebbe avere la possibilità di stampa.
L'ho strutturato in modo tale che dimensiono una picture in un form secondo
le caratteristiche della stampante in linea, controllando anche
l'orientamento del foglio e le dimensioni del foglio.
Stampo in un file le informazioni che mi interessano (compresi i vari
controlli della stampante) e li visualizzo sulla picture, avendo anche la
possibilità di scorrere la stampa su più fogli.
Il problema è che quando stampo il file su stampante, questa non è come
quella della picture, con evidenti problemi.
Ho pensato di utilizzare il data report, ma non so da dove cominciare.
Come si inserisce il data report nel progetto e come si utilizza?
Certo, non pretendo che si facciano lezioni, ma solo come si comincia, poi
cercherò di proseguire da solo.
Grazie per l'attenzione
Sergio

 ha scritto nel messaggio
news:9opo0f$4r0$1...@hermes.unipg.it...

Secondo me è più facile iniziare da soli per poi proseguire facendosi
aiutare.
Sull'MSDN c'è scritto anche come fare per inserire un DataReport in un
progetto.
cmq...
Neri riferimenti cerca ..Microsoft DataReport Designer (le ultime modifiche
sono state apportate dal SP4).
Ma se il tuo progetto non prevede l'utilizzo di DB, hai un bel po' di codice
da scrivere :)
Saluti


Si, il progetto prevede l'utilizzo di un DB, ma l'impaginazione č un po'
particolare.
Comunque grazie tante
Sergio

 possibilità di scorrere la stampa su più fogli.
Ciao
sostanzialmente ho usato il tuo stesso metodo, ma senza scrivere niente su
file...
non so quanto sia corretto (a me funziona bene)...
ho una routine di stampa che riceve tra l'altro un oggetto:
oggetto as object
una volta la invoco con la picturebox contenente l'anteprima, una volta con
l'oggetto printer...
oggetto.print "testo" etc...
e i risultati sono identici tra video e stampante...
Mi dispiace ma non so aiutarti, al momento, sul Data Report (ancora mai
utilizzato..) :-)))
Ciao
Andy

Ho pensato di utilizzare il data report, ma non so da dove cominciare.
Neanch' io !
E ne faccio felicemente a meno ;-)
ciao, hal

Ok Hal, provo a descrivere cosa dovrebbe fare.
Ho dimensionato in un form, una picture in base alle dimensioni della
stampante di default con i parametri Printer.Width e Printer.Height.
Indirizzo o la picture o la stampante con il comando Set Uscita_stampa =
Anteprima.Picture o Set Uscita_stampa = Printer secondo il tipo di stampa
(se anteprima o stampa vera e propria).
Le varie istruzioni le scrivo in un file con il comando
ScriviSuFileAnteprima (Buffer, NomeFont, DimensioneFont, Grassetto as
Boolean, Corsivo as Boolean, Barrato as Boolean, Sottolineato as Boolean,
CursoreX, CursoreY, Testo as String)
Con il comando LeggiFileAnteprima (Buffer, NomeFont ecc....) modo ho la
possibilità di controllare dove si disporrà il testo nelle varie print,
scrivendo, in base al Set Uscita_Stampa, su Picture o Printer.
Il problema è che le dimensioni della stampante con comando Printer.Width
non sono quelle sulle quali scrivo l'anteprima, in effetti, mentre sulla
Picture scrivono bene, sulla stampante fa il salto pagina e scombussola
tutta la stampa, inoltre, se ho una stringa dove c'è VBCrLf, va a capo ma
scrive dalla colonnaX = 0.
Mi chiedevo se era possibile impostare la Picture come effettivamente è lo
spazio della stampa su carta, e se fosse possibile stabilire un margine
sinistro in modo che non possa scrivere prima di questo margine.
Ho provato anche con il comando scale, ma non ci sono riuscito.


Ho provato anche con il comando scale, ma non ci sono riuscito.
ScaleLeft e' "piu" meglio :-)
Non sono stato molto dettagliato, lo so, ma l' anteprima di stampa e'
stato il mio primo activex (e lo uso tutt' ora con soddisfazione, alla
faccia dei vari datareport e crystalreport (*)), sicche' dovrei rivedere
i sorgenti perche' non mi ricordo piu' i dettagli implementativi.
ciao, hal
(*) C.R. versione 8 ha la straordinaria feature di modificare i permessi
di alcune chiavi del registro, compromettendo, fra l' altro,
il funzionamento di iis ed impedendo l' installazione di visual studio.
Su 
www.crystaldecisions.com
 la Seagate ha pubblicato il fix.


Ok, potrei controllare la stringa se esiste il comando!
Grazie
Sergio

Come posso sapere le dimensioni dei margini non stampabili?
E' documentato su msdn :-)
HOWTO: Use GetDeviceCaps to Determine Margins on a Page 
Q193943
http://support.microsoft.com/support/kb/articles/Q193/9/43.ASP
hth, hal