preview su fivewin

Moderator: Enrico Maria Giordano

Post Reply
User avatar
damianodec
Posts: 372
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia
Contact:

preview su fivewin

Post by damianodec »

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è?
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: preview su fivewin

Post by Enrico Maria Giordano »

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
User avatar
damianodec
Posts: 372
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia
Contact:

Post by damianodec »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

A me esce un unico foglio in anteprima con scritto

PROVA
CONTO

e una lunga linea.

Vuoi il mio EXE per verificare?

EMG
User avatar
damianodec
Posts: 372
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia
Contact:

Post by damianodec »

no, mi fido....
a sto punto quale potrebbe essere l'errore?

io compilo con clipper 5.2e
e blinker
User avatar
damianodec
Posts: 372
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia
Contact:

Post by damianodec »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Ah, be', io l'ho provato con FWH e xHarbour ultime versioni. Purtroppo non ho modo di verificare che non ci siano stati dei problemi in qualche momento della storia delle Fivewin.

EMG
User avatar
damianodec
Posts: 372
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia
Contact:

Post by damianodec »

ho anch'io FWH e xharbour, ma per non incappare in cose che non conosco non lo sto utilizzando....
la conversione da FW 192 a FWH e xharbour è poco traumatica ?
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

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
Post Reply