hbvpdf is outdated beyond repair. Try hbhpdf.
Probably we should remove hbvpdf altogether from SVN, as it just creates reports we can't deal with in any meaningful way. Brgds, Viktor On 2009 Nov 12, at 23:55, francesco perillo wrote: > Well, it compiles and it works... but there are some strangeness in the > code.... > > AAAA) > Start with this code snippet: > > #ifdef __XPP__ > METHOD tPdf:SetLPI(_nLpi) > #else > METHOD SetLPI(_nLpi) > #endif > > local cLpi := alltrim(str(_nLpi)) > DEFAULT _nLpi TO 6 > > cLpi := iif(cLpi$"1;2;3;4;6;8;12;16;24;48",cLpi,"6") > ::aReport[ LPI ] := val( cLpi ) > > ::PageSize( ::aReport[ PAGESIZE ] ) > RETURN > > _nLpi is used BEFORE assigning it a default value... > then ::PageSize( ::aReport[ PAGESIZE ] ) is called, but this method > has no use of LPI ! > > > > BBBB) > > SetLPI is called only once in the code, here: > ::PageSize( _cPageSize ) // sets page width and height > ::PageOrient( _cPageOrient ) // sets page orientation and the > CALLS PageSize... correctly because you may have rotated the paper > ::SetLPI( _nLpi ) // sets the LPI and then CALLS PageSize.... but > the results doesn't change because LPI value is not used.... > Probably a refactoring could be: > ::SetLPI( _nLpi ) // removing the call to PageSize > ::PageOrient( _cPageOrient ) // sets page orientation AND CALLS > PageSize... since PageOrient is a public method, it is correct that it > calls correctly because you may have rotated the paper > > But since PageOrient is PUBLIC, I can call it also in the middle of a > page.... can I ? Later I will try the effect.... > A better refactoring could be: > ::SetLPI( _nLpi ) // removing the call to PageSize > make PageOrient a PROTECTED method (it's called only once) > ::PageOrient( _cPageOrient ) > ::PageSize( _cPageSize ) > > > CCCC) > What puzzled me the most, I spent some time trying to understand why > my A4 pdf looked strange when I called PageSize( "A4").... and found > this code: > > METHOD PageSize( _cPageSize ) > #endif > > local nSize, aSize := { { "LETTER", 8.50, 11.00 }, ; > { "LEGAL" , 8.50, 14.00 }, ; > { "LEDGER", 11.00, 17.00 }, ; > { "EXECUTIVE", 7.25, 10.50 }, ; > { "A4", 8.27, 11.69 }, ; > { "A3", 11.69, 16.54 }, ; > { "JIS B4", 10.12, 14.33 }, ; > { "JIS B5", 7.16, 10.12 }, ; > { "JPOST", 3.94, 5.83 }, ; > { "JPOSTD", 5.83, 7.87 }, ; > { "COM10", 4.12, 9.50 }, ; > { "MONARCH", 3.87, 7.50 }, ; > { "C5", 6.38, 9.01 }, ; > { "DL", 4.33, 8.66 }, ; > { "B5", 6.93, 9.84 } } > > DEFAULT _cPageSize TO "LETTER" > > nSize := ascan( aSize, { |arr| arr[ 1 ] = _cPageSize } ) > > IF nSize == 0 .or. nSize > 2 // HERE IS THE PROBLEM..... > nSize := 1 > ENDIF > > > It seems that I can only have LETTER pdf.... > > > So, after a couple of days spent on this library that looked > interesting, I think I will give up.... it may have some other > "hidden" features... > > What's your idea ? > > > Francesco > _______________________________________________ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour