Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [VB5] PrintForm

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    134

    PrintForm VB5

    salve
    perdonate l'ignoranza ma sono agli inizi!!
    Stampando un form col metodo printForm in VB5, esiste la possibilità di adattare la stampa sul foglio? Nell'applicazione, che è un semplice programma per creare una dichiarazione, reperisco i dati e poi li sistemo su un form per la stampa. Però non mi trovo con le dimensioni! Ho troppi dati e nel form sono appiccicati, poi nella stampa, prendono 2/3 del foglio!
    grazie a tutti

  2. #2
    sposto nell'apposito subforum
    ...Terrible warlords, good warlords, and an english song

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Non ho mai usato questo sistema. E non ricordo se la printForm manda
    un FormFeed (salto pagina) dopo ogni stampa in automatico. Se così
    non fosse, potresti gestire il tutto con due form. Le riempi dei dati
    ed al printForm della prima fai eseguire anche il printForm della
    seconda. Ovviamente le dimensioni dei form non dovrebbero eccedere
    quelle della pagina in stampa. Dopo di che dai un Printer.EndDoc e
    il gioco è fatto.

    Ripeto, è fattibile solo se printForm non salta pagina i automatico.
    Ciao,
    Brainjar.
    Ciao, Brainjar

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    134
    Ciao Brainjar
    guarda, non ho la minima idea se la printForm invia un salto pagina!! Il problema è che la lunghezza del form è più piccola della pagina! Anche se divido i dati, la pagina viene stampata per 2/3 della sua lunghezza.
    ciao

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se una Form riempie i 2/3 della pagina, un'altra Form, più piccola,
    potrebbe riempire il terzo mancante.
    codice:
    |-----------------------------|
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxx     Primo Form    xxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    |-----------------------------|
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxx   Secondo Form    xxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    | xxxxxxxxxxxxxxxxxxxxxxxxxxx |
    |-----------------------------|
    Chiaro adesso ?
    Il tutto se dopo la printForm VB non va a capo automaticamente.
    Ciao,
    Brainjar.
    Ciao, Brainjar

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    134
    Brainjar
    ho provato ma purtroppo va a capo!! Non so che fare!!
    aiutooooo

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    134
    Non mi abbandonate!!

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Scusa, ma perchè non provi con il metodo classico ?
    Utilizza l'oggetto Printer.

    Qualsiasi altra soluzione richiede più codice ed è meno
    efficiente.

    Ciao,
    Brainjar.
    Ciao, Brainjar

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    134
    ...mmmm lo so! il problema è, come ho detto all'inizio, non ho ancora molta dimestichezza!! lo devo studiare!
    Per caso, c'è qualche pezzettino di codice che faccia al caso mio???
    cmq ti rigrazio Brainjar

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117
    Originariamente inviato da almax
    Per caso, c'è qualche pezzettino di codice che faccia al caso mio???
    Ciao, ecco un banale esempio:
    'modalità stampante per lavorare in millimetri
    Printer.ScaleMode = vbTwips
    'font del carattere
    Printer.FontName = "Arial"
    'dimensione del carattere
    Printer.FontSize = 10
    'in grassetto
    Printer.FontBold = True
    'sottolineato
    Printer.FontUnderline = True
    'corsivo
    Printer.FontItalic = True
    'posizione verticale: 10 millimetri
    Printer.CurrentY = ConvTwips(10)
    'posizione orizzontale: 30 millimetri
    Printer.CurrentX = ConvTwips(30)
    'stampa senza andare a capo
    Printer.Print "ritenuta d'acconto";
    'posizione orizzontale: 60 millimetri
    Printer.CurrentX = ConvTwips(60)
    Printer.Print "19% sul 20% dell'imponibile: "
    'salta a nuova pagina
    Printer.NewPage
    'chiude la coda di stampa
    Printer.EndDoc

    Function ConvTwips(Millimetri As Variant) As Long
    ConvTwips = Millimetri * 56.36

    End Function




    in questo modo è facilissimo: basta usare un banalissimo righello per misurare le coordinate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.