Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [vb6] stampare un form

  1. #1

    [vb6] stampare un form

    Ciao,
    Ho realizzato un form che una volta compilato deve essere stampato in doppia copia utilizzando un solo A4, quindi la domanda è:
    Quale routine devo usare per stampare il form 2 volte sullo stesso foglio. ( adesso utilizzo Form1.PrintForm)

    Grazie
    Marco

    P.s. è la seconda volta che posto questo msg spero che non mi cazziate, non credevo fosse un problema così difficile, se non si può fare, ditemelo, ci rinuncio e cerco una strada alternativa.

  2. #2
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    Al posto che fare un Printform fatti tu una stampa usando l'oggetto printer, così decidi anche le impostazione del carattere, posizioni ecc...


    ciao!!



  3. #3

    Grazie

    Al posto che fare un Printform fatti tu una stampa usando l'oggetto printer, così decidi anche le impostazione del carattere, posizioni ecc...
    Ciao, grazie per l'aiuto, temevo una risposta come la tua dato che sono decisamente un principiante e sto ancora cercando un testo o un sito che spieghi in modo semplice e con diversi esempi come fare ad usare l'oggeto printer.
    Ne approfitto per rivolgere questa domanda:
    Mi potete consigliare un testo che sia per principianti ma allo stesso tempo completo, troppo?.
    Grazie
    Marco

  4. #4
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    Io mi trovo benissimo con i manuali della apogeo..
    è un'opinione personale, dovresti andare in libreria e guardartene un po'.. poi scegli quello che ti si addice..!!!



  5. #5

    io farei così...

    Ciao!
    Se avessi il tuo problema, io lo risolverei così:

    Private Sub cmdStampa_Click()
    Dim nContatore As Integer
    nContatore = 0
    While nContatore < 2
    Form1.PrintForm
    nContatore = (nContatore +1)
    Wend
    End Sub


    Non conoscendo il nome del bottone del tuo progetto che attiva la stampa del tuo form, assegno questo nome: "cmdStampa".

    Commento al codice:
    prima dell'istruzione di stampa (il PrintForm), crei una variabile di tipo Integer che inizializzi a zero. Crei subito dopo un ciclo che viene ripetuto fino a quando la variabile è minore di due. Siccome tu vuoi due stampe del form, la variabile, alla prima stampata avrà valore 0 e la seconda 1. La variabile, incrementata come vedi nel ciclo di una unità, appena raggiungerà il valore "2", non soddisferà più la condizione proposta dal ciclo (non è più minore di 2), e quindi esce dallo stesso.
    Prova ad effettuare una prova per verificare la bontà del ciclo: al posto di "Form1.PrintForm", metti questa istruzione:
    Msgbox "Stampa n. " & nContatore.
    Ti compariranno in sequenza due msgbox che ti dimostreranno come il tutto funzioni. Ovviamente, tieni presente che la prima variabile avrà il valore 0 come ti dicevo prima e la seconda avrà valore 1. Se questo ti dovesse ingenerare confusione procedi così:
    inizializza la variabile con il valore "1" e nel ciclo, al posto di "< 2", metti "< 3". La variabile così partirà da 1 e la prima stampata avrà tale valore.

    Sono un "medio" principiante di Visual Basic e spero che la soluzione da me adottata sia buona e valida per te.
    Resto a tua disposizione per eventuali chiarimenti.
    Ciao e buon lavoro.

    PS: noterai il testo non correttamente indentato; evidentemente dipende dal forum.
    Giulio C. - Roma

  6. #6
    Ciao,
    grazie per il suggerimento,lo proverò domani, devo dirti che avevo provato una cosa simile, tipo:
    for i = 1 to 2
    Form1.PrintForm
    nexti
    Il problema è che ogni volta che il programma esegue l'istruzione form1.printform automaticamente da alla stampante il comando di fine pagina è butta fuori il foglio prendendo il successivo per la seconda stampa.
    quello che volevo io, era stampare due form sullo stesso A4.

    Per il testo da acquistare credo che mi indirizzerò su apogeo, così come consigliato da Gigi84, ne ho sentito parlare bene.
    Alla prossima.
    Marco

  7. #7

    Stampa del form.

    Ciao Marco.
    Adesso ho compreso meglio il tuo problema e credo che sia proprio intrinseco nel comando PrintForm il fatto che al termine della stampa il foglio sia "buttato" fuori dalla stampante.
    Forse la soluzione potrebbe essere quella di gestire il tutto mediante i comandi Printer, ma credo sia un pò lunghetta la cosa. Io avrei un'altra soluzione possibile da adottare.
    Quando io desidero stampare un form e non voglio stampare i relativi controlli tipo bottoni, combo ecc., e soprattutto i colori di sfondo del form, io in genere procedo così:
    copio il form da stampare, aggiungo un nuovo form al progetto, incollo nel nuovo form ciò che ho appena copiato, dò sfondo bianco al nuovo form e laddove serve, infine elimino i controlli che non desidero stampare.
    Alla pressione del pulsante che attiva la stampa sul form "originale", carico (show) questo form di "appoggio", lo nascondo (hide) e lo stampo (printform). Al termine della stampa lo chiudo (unload).
    Tu allora, attese le tue esigenze, potresti crearti un form unico ma "doppio", e cioè contente in un unico form il contenuto di quello che desideri stampare ma ripetuto due volte. E ciò ti consentirebbe di avere il tutto su di un unico foglio. Puoi separare il contenuto di un form dall'altro mediante righe o altro. :-)
    Spero di essere stato chiaro, Marco; eventualmente resto a disposizione per eventuali chiarimenti.
    Alla prossima e buone cose.
    Ciao!
    Giulio C. - Roma

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 © 2024 vBulletin Solutions, Inc. All rights reserved.