FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Parametri di stampa
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Parametri di stampa
Posted: Wed Feb 15, 2006 05:49 PM
ho preparato questo test
#include "fivewin.ch"

function main()

   local oDlg, cCombo := 9, oBtn

local aItems :={ "DMPAPER_LETTER       ",  ;
"DMPAPER_LETTERSMALL  ",  ;
"DMPAPER_TABLOID      ",  ;
"DMPAPER_LEDGER       ",  ;
"DMPAPER_LEGAL        ",  ;
"DMPAPER_STATEMENT    ",  ;
"DMPAPER_EXECUTIVE    ",  ;
"DMPAPER_A3           ",  ;
"DMPAPER_A4           ",  ;
"DMPAPER_A4SMALL      ",  ;
"DMPAPER_A5           ",  ;
"DMPAPER_B4           ",  ;
"DMPAPER_B5           ",  ;
"DMPAPER_FOLIO        ",  ;
"DMPAPER_QUARTO       ",  ;
"DMPAPER_10X14        ",  ;
"DMPAPER_11X17        ",  ;
"DMPAPER_NOTE         ",  ;
"DMPAPER_ENV_9        ",  ;
"DMPAPER_ENV_10       ",  ;
"DMPAPER_ENV_11       ",  ; 
"DMPAPER_ENV_12       ",  ;
"DMPAPER_ENV_14       ",  ;
"DMPAPER_CSHEET       ",  ;
"DMPAPER_DSHEET       ",  ;
"DMPAPER_ESHEET       ",  ;
"DMPAPER_ENV_DL       ",  ;
"DMPAPER_ENV_C5       ",  ;
"DMPAPER_ENV_C3       ",  ;
"DMPAPER_ENV_C4       ",  ;
"DMPAPER_ENV_C6       ",  ;
"DMPAPER_ENV_C65      ",  ;
"DMPAPER_ENV_B4       ",  ;
"DMPAPER_ENV_B5       ",  ;
"DMPAPER_ENV_B6       ",  ;
"DMPAPER_ENV_ITALY    ",  ;
"DMPAPER_ENV_MONARCH  ",  ;
"DMPAPER_ENV_PERSONAL ",  ;
"DMPAPER_FANFOLD_US   ",  ;
"DMPAPER_FANFOLD_STD_GERMAN",  ;
"DMPAPER_FANFOLD_LGL_GERMAN "}


   DEFINE DIALOG oDlg FROM 2, 2 TO 18, 60 TITLE "Selezione formati di stampa" ;
      STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )


   @ 2, 2 COMBOBOX cCombo ITEMS aItems SIZE 200, 100 ON CHANGE PrnSetPage( nAT )



   @ 3,  4 BUTTON "&Ok" OF oDlg SIZE 40, 12
   @ 3, 12 BUTTON oBtn PROMPT "&Cancel" OF oDlg SIZE 40, 12 ;
      ACTION ( MsgInfo( NaT ), lExit := .t., oDlg:End() )


   ACTIVATE DIALOG oDlg CENTERED

return nil




1) non setta la pagina
2) non so come fare per darmi iparametri di lunghezza e larghezza
Best Regards, Saludos



Falconi Silvio
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Parametri di stampa
Posted: Wed Feb 15, 2006 06:59 PM
Silvio wrote:1) non setta la pagina


Come fai a dirlo? Hai provato a stampare? Comunque ti confermo che la funzione PrnSetPage() funziona dato che l'ho usata in un programma.

Silvio wrote:2) non so come fare per darmi iparametri di lunghezza e larghezza


Con il metodo TPrinter:GetPhySize(), naturalmente dopo aver definito la stampante.

EMG
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Parametri di stampa
Posted: Sat Feb 18, 2006 04:17 PM
ripeto non devo stampare niente

ripeto ER lo fa non settando nessuna stampante ( ho provato il programma su un computer senza stampante installata)

Ho un vecchio programma demo della infoser ( l'anteprima di stampa di questo programma risale al 2001 , alle vecchie anteprime circa ver fw 18 -19.5)

In questo programma c'è un design e lui fa selezionare il tipo del foglio e automaticamente restituisce nei get la larghezza e l'altezza del foglio.

Quindi se si poteva fare nel 2001 si potrebbe certamente fare adesso.

Ho controllato non c'è nessun archivio con parametri dei fogli nel programma demo suddtto quindi o li hanno inseriti su un doppio array ( e questo mi appare improbabile) o c'è una funzione che noi a questo punto non conosciamo che restituisce la larghezza e l'altezza del foglio passato il tipo del foglio.

A parte che ho saputo che nella versione nuova di fw c'è pagesetup che fa in pratica quello che io voglio fare ....e anche questa funzione pare che non setta nessuna stapante(oprn) prima infatti si puo' compilare un programma con semplicemente chiamando questa funzione :
# include"fivewin.ch"
func Main()
pagesetup()
return nil


ma io volevo fare un dialog simile ( dato che non ho l'agg.) inserendo anche altri parametri che a me servono per un programma.
Best Regards, Saludos



Falconi Silvio
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Parametri di stampa
Posted: Sat Feb 18, 2006 04:36 PM
Silvio wrote:ripeto non devo stampare niente


Tu hai detto: "PrnSetPage() non setta la pagina". Probabilmente non ho capito cosa intendevi ma come fai a dire che non setta la pagina? Hai chiamato forse qualche funzione che te lo dice? Io l'unico modo che conosco per verificare se il formato pagina scelto è stato effettivamente impostato è di provare a stampare. Io l'ho fatto e funziona, anche in anteprima di stampa.

Per quanto riguarda le dimensioni del foglio, come ho già detto, non ne so niente.

EMG
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Parametri di stampa
Posted: Wed Feb 22, 2006 11:27 PM
I valori sono costanti e non dipendono dalla stampante. Basta che riempi, ad esempio, un array parallelo a quello dei nomi dei formati ma contenente i valori corrispondenti e poi peschi da quest'ultimo il valore relativo all'elemento selezionato.

Grazie per l'idea .... un esempietto pratico ?
Best Regards, Saludos



Falconi Silvio
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Parametri di stampa
Posted: Thu Feb 23, 2006 09:20 AM
Eccolo, prova con e senza la chiamata a PrnSetPage() e vedi la differenza anche in anteprima (la scritta si ingrandisce quando la pagina è A5):

#include "Fivewin.ch"


#define DMPAPER_A5 11


FUNCTION MAIN()

    LOCAL oPrn, oFnt

    PRNSETPAGE( DMPAPER_A5 )

    PRINT oPrn PREVIEW
        DEFINE FONT oFnt NAME "Arial" SIZE 0, -12 OF oPrn
        PAGE
            oPrn:Say( 100, 100, "This is a test", oFnt )
        ENDPAGE
    ENDPRINT

    RELEASE FONT oFnt

    RETURN NIL


EMG
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Parametri di stampa
Posted: Thu Feb 23, 2006 10:28 AM

scusa io intendevo un esempio per il doppio array non per l'anteprima di stampa che lo so come si fa...

Best Regards, Saludos



Falconi Silvio
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Parametri di stampa
Posted: Thu Feb 23, 2006 10:43 AM
Qualcosa del genere?

#include "Fivewin.ch"


#define DMPAPER_A5 11


FUNCTION MAIN()

    LOCAL oDlg, oLbx

    LOCAL aFormati := { { "Formato 1", "Formato 2", "DMPAPER_A5" },;
                        { 1, 2, DMPAPER_A5 } }

    LOCAL cFormato := ""

    DEFINE DIALOG oDlg

    @ 1, 1 LISTBOX oLbx VAR cFormato ITEMS aFormati[ 1 ]

    @ 3, 1 BUTTON "&Stampa" ACTION STAMPA( aFormati[ 2, oLbx:GetPos() ] )

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


STATIC FUNCTION STAMPA( nFormato )

    LOCAL oPrn, oFnt

    PRNSETPAGE( nFormato )

    PRINT oPrn PREVIEW
        DEFINE FONT oFnt NAME "Arial" SIZE 0, -12 OF oPrn

        PAGE
            oPrn:Say( 100, 100, "This is a test", oFnt )
        ENDPAGE
    ENDPRINT

    RELEASE FONT oFnt

    RETURN NIL


EMG
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Parametri di stampa
Posted: Thu Feb 23, 2006 04:21 PM

ok stasera provo

Best Regards, Saludos



Falconi Silvio
Posts: 31
Joined: Sun Oct 09, 2005 08:29 PM
Re: Parametri di stampa
Posted: Fri Jan 17, 2014 08:20 PM

Ciao,
ho reinstallato windows XP 32 bit e riportato una vecchia applicazione fivewin, che prima funzionava bene.
Ora lanciandola mi dà "There is no printer installed...", malgrado abbia una stampante fisica ed una virtuale (pdf), che funzionano correttamente con widnows.
è un problema noto? come si risolve?
Grazie,
Riccardo

Riccardo

Continue the discussion