preview su fivewin
Moderator: Enrico Maria Giordano
- damianodec
- Posts: 372
- Joined: Wed Jun 06, 2007 2:58 pm
- Location: Italia
- Contact:
preview su fivewin
ho ricominciato a riusare le librerie fivewin, ma mi succede una cosa strana con la creazione stampe:
uso questa istruzione:
PRINT oPrn NAME "Clienti 30 60 90" PREVIEW
DEFINE FONT oFont NAME "Courier new" SIZE 0, -8 OF oPrn
oPrn:SetLandscape()
e poi apro le varie pagine con PAGE e la finisco con ENDPAGE
ma il problema è che su 32 pagine le prime due sono bianche e le altre sono normali stampandomi però dalla pagina 3, per ovviare a questo metto le seguenti istruzioni
PAGE
ENDPAGE
PAGE
ENDPAGE
e così la stampa inizia si con due pagine bianche ma alla terza finalmente mi esce la pagina 1....
perchè?
uso questa istruzione:
PRINT oPrn NAME "Clienti 30 60 90" PREVIEW
DEFINE FONT oFont NAME "Courier new" SIZE 0, -8 OF oPrn
oPrn:SetLandscape()
e poi apro le varie pagine con PAGE e la finisco con ENDPAGE
ma il problema è che su 32 pagine le prime due sono bianche e le altre sono normali stampandomi però dalla pagina 3, per ovviare a questo metto le seguenti istruzioni
PAGE
ENDPAGE
PAGE
ENDPAGE
e così la stampa inizia si con due pagine bianche ma alla terza finalmente mi esce la pagina 1....
perchè?
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: preview su fivewin
Fammi vedere un piccolo ma compilabile esempio del problema così lo provo qui e ti dico se lo fa anche a me. Comunque mi sento di escludere a priori che ci sia un problema del genere nelle Fivewin.
EMG
EMG
- damianodec
- Posts: 372
- Joined: Wed Jun 06, 2007 2:58 pm
- Location: Italia
- Contact:
ok, per esempio questo foglio mi esce in bianco
#include "FiveWin.ch"
FUNCTION stclient()
local oPrn, oFont
local nRowStep, nColStep
local nRow := 0
local nCol := 0
local oPen1 := 0
local m_pagina := 0
DEFINE PEN oPen1 WIDTH 1 COLOR CLR_BLACK
PRINT oPrn NAME "Clienti" PREVIEW
DEFINE FONT oFont NAME "Courier new" SIZE 0, -8 OF oPrn
oPrn:SetLandscape()
nRowStep = oPrn:nVertRes() / 56 // 56 righe
nColStep = oPrn:nHorzRes() / 190 // 170 colonne
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
ENDPRINT
oFont:End()
oPen1:End()
RETURN NIL
#include "FiveWin.ch"
FUNCTION stclient()
local oPrn, oFont
local nRowStep, nColStep
local nRow := 0
local nCol := 0
local oPen1 := 0
local m_pagina := 0
DEFINE PEN oPen1 WIDTH 1 COLOR CLR_BLACK
PRINT oPrn NAME "Clienti" PREVIEW
DEFINE FONT oFont NAME "Courier new" SIZE 0, -8 OF oPrn
oPrn:SetLandscape()
nRowStep = oPrn:nVertRes() / 56 // 56 righe
nColStep = oPrn:nHorzRes() / 190 // 170 colonne
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
ENDPRINT
oFont:End()
oPen1:End()
RETURN NIL
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- damianodec
- Posts: 372
- Joined: Wed Jun 06, 2007 2:58 pm
- Location: Italia
- Contact:
- damianodec
- Posts: 372
- Joined: Wed Jun 06, 2007 2:58 pm
- Location: Italia
- Contact:
se aggindo queste istruzioni
*-----------
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
cioe aggiungendo tre volte altre gli stessi comandi di stampa, mi stampa dalla seconda pagina
*-----------
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
PAGE
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*1,"PROVA",oFont)
nRow += nRowStep * 1
oPrn:Say(nRow,nColStep*01,"CONTO",oFont)
nRow += nRowStep * 1
oPrn:Line(nRow,nColStep*0,nRow,nColStep*190,oPen1)
ENDPAGE
cioe aggiungendo tre volte altre gli stessi comandi di stampa, mi stampa dalla seconda pagina
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- damianodec
- Posts: 372
- Joined: Wed Jun 06, 2007 2:58 pm
- Location: Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
In ogni caso non ti conviene perdere altro tempo con i 16 bit ora che anche i 32 sono in fase di declino.
Il passaggio potrebbe essere indolore ma ci sono alcune cose da tenere presente:
1. Tutti i sorgenti vanno ricompilati e ovviamente non si possono utilizzare librerie a 16 bit.
2. Le risorse (RES o RC) vanno convertite a 32 bit.
3. Ci sono alcune piccole differenze sintattiche su alcune funzioni ma niente di non facilmente sistemabile.
EMG
Il passaggio potrebbe essere indolore ma ci sono alcune cose da tenere presente:
1. Tutti i sorgenti vanno ricompilati e ovviamente non si possono utilizzare librerie a 16 bit.
2. Le risorse (RES o RC) vanno convertite a 32 bit.
3. Ci sono alcune piccole differenze sintattiche su alcune funzioni ma niente di non facilmente sistemabile.
EMG