Newsgroup: it.comp.lang.visual-basic
Titolo: Oggetto printer

ciao, premetto che so ben poco dell'oggetto in questione. il mio problema è
che devo stampare su un modello ministeriale una determinata tabella.
Potete darmi qualche consiglio su come si fa a stampare un 'intero recorset
con l'oggetto printer, ed inoltre come posso gestire nel migliore dei modi
le coordinate del testo da stampare (quali proprietà devo usare)
grazie

guarda PrnPrv3
č da me o nel sito comune
ed č solo codice bas e frm
freeee....
http://www.chiappori.net
--[GbC]--

Devi usare comanti dipo.....
    Printer.Line (0, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
    Printer.Print
    Printer.Print " Nulla Osta Numero :";
    Printer.Print Tab(22); wnumnout.Text;
    Printer.Print Tab(50); "Emesso Il ...:";
    Printer.Print Tab(65); wdtemi
    Printer.Print
    Printer.Line (0, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
Function Scefont(Nf As Variant, Dmf As Integer, Grs As Variant, Ita As Variant)
Numerofont = 0
For I = 0 To (Printer.FontCount - 1)
   If Printer.Fonts(I) = Nf Then
      Numerofont = I
      Exit For
   End If
Next
Printer.FontName = Printer.Fonts(Printer.FontCount - 1)
Printer.FontSize = 12
Printer.Font.Name
 = Printer.Fonts(I)
Printer.Font.Size = Dmf
Printer.Font.Bold = IIf(Grs = "S", True, False)
Printer.Font.Italic = IIf(Ita = "S", True, False)
Scefont = 0
End Function
Ricorda che puoi decidere il punto di inizio di stampa
con CurrentX e CuttentY .... vedere sulla guida please......
Andrea ha scritto:

--
!------------------------------------------------!
!ICQ     : 8281944
!E-Mail  : 
Dan...@levon.it
!
! " Niuna impresa per minima che sia puo' avere
!   cominciamento e fine senza queste tre cose
!   e cioe'
!
!        senza sapere
!        senza potere
!        senza con amore volere                "
!
!
!HomePage : 
http://www.levon.it/daniele
!
!------------------------------------------------!

le coordinate del testo da stampare (quali proprietà devo usare)
Ciao,
PREMESSA:
ultimamente per una banca ho realizzato un programma per la gestione dei
bollettini premarcati (quelli con le bande rosse in alto per intenderci) e ho
usato l'oggetto printer. Tutti i bollettini erano in modulo continuo con una
altezza di circa 10 cm e una larghezza di circa 25 cm.
CONSIGLIO (per le coordinate):
1) usa un font non proporzionale (purtroppo non so al momento dirti quale possa
essere sotto Win95. Ho postato una domanda ancora senza risposta).
Per il mio programma mandavo delle sequenze di ESC direttamente alla stampante.
2) dotati di un righello con misure inglesi (inch) e che contenga delle
tacchette in corrispondenza dei sesti di pollice per contare le righe di testo e
dei decimi di pollice per la distanza tra caratteri.
3) prendi il tabulato che devi stampare e, per ogni informazione che devi
stampare, vedi su quale riga va e dai altrettanti Printer.Print e quanto deve
distare dal margine sinistro e usi la funzione (VB6) Space.
Se devi stampare in modulo continuo la soluzione è molto semplice, fai finta di
avere un foglio di carta illimitato e calcoli l'altezza di ogni modulo in sesti
di pollice.
Ogni volta che stampi una riga incrementi un contatore di riga e quanto vuoi
passare al successivo modulo dai una serie di Printer.Print fino al
raggiungimento dell'altezza del modulo.
Se devi stampare su foglio non standard (A4 o altri previsti da VB) con font
proporzionale devi usare per esempio:
            Printer.Height = 12.1 * 1440 ' Altezza: 30,5 cm.
            Printer.Width = 8.7 * 1440 ' Larghezza: 22,1 cm.
dove 1440 sono i twips per pollice mentre 12.1 e 8.7 sono le dimensioni in
pollici della pagina.
Un ultimo consiglio è se devi stampare molte informazioni sulla stessa riga per
esempio l'informazione A a partire dalla colonna 3, B alla colonna 15, C alla
colonna 25.
	Dim strDettaglio as String
	strDettaglio = Space(2 - Len(strDettaglio)) & A
	strDettaglio = Space(14 - Len(strDettaglio)) & B
	strDettaglio = Space(24 - Len(strDettaglio)) & C
	Printer.Print strDettaglio.
Penso di averti detto tutto sulla questione e se ci sono problemi posta pure sul
newsgroup!
teddy...@hotmail.com
ICQ 7044062
Como - Italy