Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Modificare le impostazioni delle stampanti

Un saluto a tutti e vengo subito al problema.
    Distribuendo i report da creati può accadere che l'utente non sia in
possesso della stessa stampante utilizzate nel report. In queste condizioni
il Crystal report usa la stampante predefinita di sistema ignorando però
quali sono le impostazioni di formata carta del report. Per esempio se il
report è in formato A4 orizzontale e la stampante di sistema e impostata in
A4 verticale la stampa viene eseguita in verticale (sic !!)  con tutte le
consequenze del caso. A questo punto le soluzioni da me cercate sono le
seguenti.
    1) Si può ad intervenire si CR in modo da modificarne il comportamento ?
    2) Si possono modificare da programma le impostazione della stampante
predefinita semza passare pero nella CommonDialog?
Grazie in anticipo a chi sapra aiutarmi
Roberto C.


ma certo!
guarda le proprietą dell'oggetto Printer


io ho CR 4.6 e modificando le proprieta' dell'oggetto Printer modifico
le proprieta' solo per la stampa fatta con l'oggetto Printer, non con
CR!
Se c'e' un modo di risolvere questo problema, di  cui ho fatto richiesta
piu' volte al NG, fatemelo sapere.
ciao
		maxx




Da quello che ho potuto capire il CR quando stampa verifica se sul sistema è
installata la stampante sulla quale è stato creato il report, se tale
stampante esiste riesce a gestirla in maniera ottimale impostanto margini,
formato carta ecc. Se invece la stampanrte non esiste, oppure si è imposta
la stampante predefinita dell'applicazione (set printer = printers(3)) la
quale è diversa da quella creata dal report, il CR recupera le impostatzioni
di stampa dai settaggi generali (pannello di controllo per capirci) e quindi
avvia la stampa.Il peggio di ciò è insesibili alle impostazioni dello
oggetto printer di vb. Quindi se io imposto Printer.orientation = 1 (stampa
verticale) e su pannello di controllo è impostato orizzontale la stampa va
in orizontale. (questo è il motivo perche chiedevo come canbiare le
impostazioni della stampante di sistema senza passare per la CommonDialog.)
Scusate in anticipo la lunghezza del messaggio e tengo a precisare che
quanto sopra detto è tutto frutto di esperienza diretta e non è detto che le
mie conclusioni siano esatte al 100 %
Un saluto Roberto C

Vedo che il mio problema e' comune.
Io ho "risolto", quando funziona, utilizzando le API e modificando la
stampante di default ed il suo orientamento prima di stampare il report.
Il problema e' che non tutte le stampanti accettano queste modifiche,
con conseguenze "brutte":
CR nell'anteprima di stampa visualizza mezzo portrait mezzo landscape
con una serie di schifezze sul video e la stampa viene fatta troncata.
Credo si tratta di un problema che si verifica perche' alcune stampanti
usano dei drivers non standard e quindi i flag dell'orientamento non si
trovano dove dovrebbero in DEVMODE.
Oppure e' un problema che si verifica con stampanti in rete di cui a
volte non e' possibile, da un pc diverso da quelle dove e' installata la
stampante, modificare l'orientamento.
Purtroppo ho posto piu' volte questi quesiti sul NG ma nessuno mi ha
risposto e quindi ... i miei report stanno lentamente transitando verso
il portrait!
ciao
		maxx 
