Ayuda con Wrapper LibXL

Ayuda con Wrapper LibXL

Postby jose_murugosa » Fri Nov 25, 2022 1:46 pm

Encontré este Wrapper para la LibXL que se compartió generosamente como software libre.

Al compilarlo me da errores.

Este es el Wrapper
Code: Select all  Expand view  RUN

/*
 * LibxlFnc.prg - Wrapper for xHarbour - Libxl
 * -------------------------------------------
 *
 * LibXL is a library for direct reading and writing Excel files.
 * http://www.libxl.com
 * Based on libxl for windows 3.0.2 - 2010.09.15
 *
 *
 * Copyright 2010 Edmond Broux <broux.edmond@wanadoo.fr>
 *                Edmond Broux 24700 Montpon Menesterol France
 *
 * Thanks to Jan Sperling
 * Thanks to Jean-Noel Dechereux - http://www.ntkproject.com
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software; see the file COPYING.  If not, write to
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
 *
 * As a special exception, the Harbour Project gives permission for
 * additional uses of the text contained in its release of Harbour.
 *
 * The exception is that, if you link the Harbour libraries with other
 * files to produce an executable, this does not by itself cause the
 * resulting executable to be covered by the GNU General Public License.
 * Your use of that executable is in no way restricted on account of
 * linking the Harbour library code into it.
 *
 * This exception does not however invalidate any other reasons why
 * the executable file might be covered by the GNU General Public License.
 *
 * This exception applies only to the code released by the Harbour
 * Project under the name Harbour.  If you copy code from other
 * Harbour Project or Free Software Foundation releases into a copy of
 * Harbour, as the General Public License permits, the exception does
 * not apply to the code that you add in this way.  To avoid misleading
 * anyone as to the status of such modified files, you must delete
 * this exception notice from them.
 *
 * If you write modifications of your own for Harbour, it is your choice
 * whether to permit this exception to apply to your modifications.
 * If you do not wish that, delete this exception notice.
 *
 */



*------------------------------------------------------------------------------
* Low Level C Routines
*------------------------------------------------------------------------------

#pragma BEGINDUMP

   //#include <windows.h>
   #include "shlobj.h"
   #include "hbapi.h"
   #include "hbvm.h"
   #include "hbstack.h"
   #include "hbapiitm.h"
   #include "D:\USERS\Jose\Desktop\LibXL-Hbr\include\libxl.h"
   // BookA.H

HB_FUNC( XLCREATEBOOKC )
{
   hb_retptr( (BookHandle) xlCreateBookCA() );
}

HB_FUNC( XLCREATEXMLBOOKC )
{
   hb_retptr( (BookHandle) xlCreateXMLBookCA() );
}

HB_FUNC( XLBOOKLOAD )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retl( (int) xlBookLoadA( handle , filename ) != 0 );
}

HB_FUNC( XLBOOKSAVE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retl( (int) xlBookSaveA( handle , filename ) != 0 );
}

HB_FUNC( XLBOOKLOADRAW )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* data  = (const char*) hb_parc(2);
   unsigned size = (unsigned) hb_parni(3);

   hb_retl( (int) xlBookLoadRawA( handle , data , size ) != 0 );
}

HB_FUNC( XLBOOKSAVERAW )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char** data  = (const char**) hb_parc(2);
   unsigned* size = (unsigned) hb_parni(3);

   hb_retl( (int) xlBookSaveRawA( handle , data , size ) != 0 );
}

HB_FUNC( XLBOOKADDSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);
   SheetHandle initSheet = (SheetHandle) hb_parptr(3);

   hb_retptr( (SheetHandle) xlBookAddSheetA( handle , name , initSheet ) );
}

HB_FUNC( XLBOOKGETSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (SheetHandle) xlBookGetSheetA( handle , index ) );
}

HB_FUNC( XLBOOKDELSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retl( (int) xlBookDelSheetA( handle , index ) != 0 );
}

HB_FUNC( XLBOOKSHEETCOUNT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookSheetCountA( handle ) );
}

HB_FUNC( XLBOOKADDFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   FormatHandle initFormat = (FormatHandle) hb_parptr(2);

   hb_retptr( (FormatHandle) xlBookAddFormatA( handle , initFormat ) );
}

HB_FUNC( XLBOOKADDFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   FontHandle initFont = (FontHandle) hb_parptr(2);

   hb_retptr( (FontHandle) xlBookAddFontA( handle , initFont ) );
}

HB_FUNC( XLBOOKADDCUSTOMNUMFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* customNumFormat = (const char*) hb_parc(2);

   hb_retni( (int) xlBookAddCustomNumFormatA( handle , customNumFormat ) );
}

HB_FUNC( XLBOOKCUSTOMNUMFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int fmt = (int) hb_parni(2);

   hb_retc( (const char*) xlBookCustomNumFormatA( handle , fmt ) );
}

HB_FUNC( XLBOOKFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (FormatHandle) xlBookFormatA( handle , index ) );
}

HB_FUNC( XLBOOKFORMATSIZE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookFormatSizeA( handle ) );
}

HB_FUNC( XLBOOKFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (FontHandle) xlBookFontA( handle , index ) );
}

HB_FUNC( XLBOOKFONTSIZE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookFontSizeA( handle ) );
}

HB_FUNC( XLBOOKDATEPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int year = (int) hb_parni(2);
   int month = (int) hb_parni(3);
   int day = (int) hb_parni(4);
   int hour = (int) hb_parni(5);
   int min = (int) hb_parni(6);
   int sec = (int) hb_parni(7);
   int msec = (int) hb_parni(8);

   hb_retnd( (double) xlBookDatePackA( handle , year , month , day , hour , min , sec , msec ) );
}

HB_FUNC( XLBOOKDATEUNPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   double value = (double) hb_parnd(2);
   int* year = (int*) hb_parni(3);
   int* month = (int*) hb_parni(4);
   int* day = (int*) hb_parni(5);
   int* hour = (int*) hb_parni(6);
   int* min = (int*) hb_parni(7);
   int* sec = (int*) hb_parni(8);
   int* msec = (int*) hb_parni(9);

   hb_retl( (int) xlBookDateUnpackA( handle , value , year , month , day , hour , min , sec , msec ) != 0 );
}

HB_FUNC( XLBOOKCOLORPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int red = (int) hb_parni(2);
   int green = (int) hb_parni(3);
   int blue = (int) hb_parni(4);

   hb_retni( (int) xlBookColorPackA( handle , red , green , blue ) );
}

HB_FUNC( XLBOOKCOLORUNPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int color = (int) hb_parni(2);
   int* red = (int*) hb_parni(3);
   int* green = (int*) hb_parni(4);
   int* blue = (int*) hb_parni(5);

   xlBookColorUnpackA( handle , color , red , green , blue );
   hb_retnl(1);
}

HB_FUNC( XLBOOKACTIVESHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookActiveSheetA( handle ) );
}

HB_FUNC( XLBOOKSETACTIVESHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   xlBookSetActiveSheetA( handle , index );
   hb_retnl(1);
}

HB_FUNC( XLBOOKADDPICTURE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retni( (int) xlBookAddPictureA( handle , filename ) );
}

HB_FUNC( XLBOOKADDPICTURE2 )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* data = (const char*) hb_parc(2);
   unsigned size = (unsigned) hb_parni(3);

   hb_retni( (int) xlBookAddPicture2A( handle , data , size ) );
}

HB_FUNC( XLBOOKDEFAULTFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int* fontSize = (int*) hb_parni(2);

   hb_retc( (const char*) xlBookDefaultFontA( handle , fontSize ) );
}

HB_FUNC( XLBOOKSETDEFAULTFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* fontName = (const char*) hb_parc(2);
   int fontSize = (int) hb_parni(3);

   xlBookSetDefaultFontA( handle , fontName , fontSize );
   hb_retnl(1);
}

HB_FUNC( XLBOOKSETKEY )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const wchar_t* name = (const wchar_t*) hb_parc(2);
   const wchar_t* key = (const wchar_t*) hb_parc(3);

   xlBookSetKeyA( handle , name , key );
   hb_retnl(1);
}

HB_FUNC( XLBOOKRGBMODE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retl( (int) xlBookRgbModeA( handle ) != 0 );
}

HB_FUNC( XLBOOKSETRGBMODE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int rgbMode = (int) hb_parl(2);

   xlBookSetRgbModeA( handle , rgbMode );
   hb_retnl(1);
}

HB_FUNC( XLBOOKSETLOCALE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* locale = (const char*) hb_parc(2);

   xlBookSetLocaleA( handle , locale );
   hb_retnl(1);
}

HB_FUNC( XLBOOKERRORMESSAGE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retc( (const char*) xlBookErrorMessageA( handle ) );
}

HB_FUNC( XLBOOKRELEASE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   xlBookReleaseA( handle );
   hb_retnl(1);
}

   // --------
   // SheetA.H
   // --------

HB_FUNC( XLSHEETCELLTYPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retni( (int) xlSheetCellTypeA( handle , row , col) );
}

HB_FUNC( XLSHEETISFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetIsFormulaA( handle , row , col) != 0 );
}

HB_FUNC( XLSHEETCELLFORMAT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retptr( (FormatHandle) xlSheetCellFormatA( handle , row , col) );
}

HB_FUNC( XLSHEETSETCELLFORMAT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);

   xlSheetSetCellFormatA( handle , row , col , format );
   hb_retnl(1);
}

HB_FUNC( XLSHEETREADSTR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retc( (const char*) xlSheetReadStrA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITESTR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteStrA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADNUM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retnd( (double) xlSheetReadNumA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITENUM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   double value = (double) hb_parnd(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteNumA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADBOOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retl( (int) xlSheetReadBoolA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETWRITEBOOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int value  = (int) hb_parl(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteBoolA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADBLANK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retl( (int) xlSheetReadBlankA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETWRITEBLANK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);

   hb_retl( (int) xlSheetWriteBlankA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETREADFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retc( (const char*) xlSheetReadFormulaA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITEFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteFormulaA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADCOMMENT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retc( (const char*) xlSheetReadCommentA( handle , row , col ) );
}

HB_FUNC( XLSHEETWRITECOMMENT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   const char* author = (const char*) hb_parc(5);
   int width = (int) hb_parni(6);
   int height = (int) hb_parni(7);

   xlSheetWriteCommentA( handle , row , col , value , author , width , height);
   hb_retnl(1);
}

HB_FUNC( XLSHEETISDATE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetIsDateA( handle , row , col ) != 0 );
}

HB_FUNC( XLSHEETREADERROR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retni( (int) xlSheetReadErrorA( handle , row , col ) );
}

HB_FUNC( XLSHEETCOLWIDTH )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int col = (int) hb_parni(2);

   hb_retnd( (double) xlSheetColWidthA( handle , col ) );
}

HB_FUNC( XLSHEETROWHEIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);

   hb_retnd( (double) xlSheetRowHeightA( handle , row ) );
}

HB_FUNC( XLSHEETSETCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);
   double width = (double) hb_parnd(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);
   int hidden = (int) hb_parl(6);

   hb_retl( (int) xlSheetSetColA( handle , colFirst , colLast , width , format , hidden ) != 0 );
}

HB_FUNC( XLSHEETSETROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   double height = (double) hb_parnd(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);
   int hidden = (int) hb_parl(5);

   hb_retl( (int) xlSheetSetRowA( handle , row , height , format , hidden ) != 0 );
}
HB_FUNC( XLSHEETGETMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int* rowFirst = (int*) hb_parni(4);
   int* rowLast = (int*) hb_parni(5);
   int* colFirst = (int*) hb_parni(6);
   int* colLast = (int*) hb_parni(7);

   hb_retl( (int) xlSheetGetMergeA( handle , row , col , rowFirst , rowLast , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETSETMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int colFirst = (int) hb_parni(4);
   int colLast = (int) hb_parni(5);

   hb_retl( (int) xlSheetSetMergeA( handle , rowFirst , rowLast , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETDELMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetDelMergeA( handle , row , col ) != 0 );
}

HB_FUNC( XLSHEETSETPICTURE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int pictureId = (int) hb_parni(4);
   double scale = (double) hb_parnd(5);

   xlSheetSetPictureA( handle , row , col , pictureId , scale );
   hb_retnl(1);
}

HB_FUNC( XLSHEETSETPICTURE2 )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int pictureId = (int) hb_parni(4);
   int width = (int) hb_parni(5);
   int height = (int) hb_parni(6);

   xlSheetSetPicture2A( handle , row , col , pictureId , width , height);
   hb_retnl(1);
}

HB_FUNC( XLSHEETSETHORPAGEBREAK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int pageBreak = (int) hb_parl(3);

   hb_retl( (int) xlSheetSetHorPageBreakA( handle , row , pageBreak ) != 0 );
}

HB_FUNC( XLSHEETSETVERPAGEBREAK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int col = (int) hb_parni(2);
   int pageBreak = (int) hb_parl(3);

   hb_retl( (int) xlSheetSetVerPageBreakA( handle , col , pageBreak ) != 0 );
}

HB_FUNC( XLSHEETSPLIT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   xlSheetSplitA( handle , row , col );
   hb_retnl(1);
}

HB_FUNC( XLSHEETGROUPROWS )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int collapsed = (int) hb_parl(4);

   hb_retl( (int) xlSheetGroupRowsA( handle , rowFirst , rowLast , collapsed ) != 0 );
}

HB_FUNC( XLSHEETGROUPCOLS )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);
   int collapsed = (int) hb_parl(4);

   hb_retl( (int) xlSheetGroupColsA( handle , colFirst , colLast , collapsed ) != 0 );
}

HB_FUNC( XLSHEETCLEAR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int colFirst = (int) hb_parni(4);
   int colLast = (int) hb_parni(5);

   xlSheetClearA( handle , rowFirst , rowLast , colFirst , colLast );
   hb_retnl(1);
}

HB_FUNC( XLSHEETINSERTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetInsertColA( handle , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETINSERTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetInsertRowA( handle , rowFirst , rowLast ) != 0 );
}

HB_FUNC( XLSHEETREMOVECOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetRemoveColA( handle , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETREMOVEROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetRemoveRowA( handle , rowFirst , rowLast ) != 0 );
}

HB_FUNC( XLSHEETCOPYCELL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowSrc = (int) hb_parni(2);
   int colSrc = (int) hb_parni(3);
   int rowDst = (int) hb_parni(4);
   int colDst = (int) hb_parni(5);

   hb_retl( (int) xlSheetCopyCellA( handle , rowSrc , colSrc , rowDst , colDst ) != 0 );
}

HB_FUNC( XLSHEETFIRSTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetFirstRowA( handle ) );
}

HB_FUNC( XLSHEETLASTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetLastRowA( handle ) );
}

HB_FUNC( XLSHEETFIRSTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetFirstColA( handle ) );
}

HB_FUNC( XLSHEETLASTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetLastColA( handle ) );
}

HB_FUNC( XLSHEETDISPLAYGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetDisplayGridlinesA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETDISPLAYGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int show = (int) hb_parl(2);

   xlSheetSetDisplayGridlinesA( handle , show );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetPrintGridlinesA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPRINTGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int print = (int) hb_parl(2);

   xlSheetSetPrintGridlinesA( handle , print );
   hb_retnl(1);
}

HB_FUNC( XLSHEETZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetZoomA( handle ) );
}

HB_FUNC( XLSHEETSETZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int zoom = (int) hb_parni(2);

   xlSheetSetZoomA( handle , zoom );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetPrintZoomA( handle ) );
}

HB_FUNC( XLSHEETSETPRINTZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int zoom = (int) hb_parni(2);

   xlSheetSetPrintZoomA( handle , zoom );
   hb_retnl(1);
}

HB_FUNC( XLSHEETLANDSCAPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetLandscapeA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETLANDSCAPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int landscape = (int) hb_parl(2);

   xlSheetSetLandscapeA( handle , landscape );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPAPER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetPaperA( handle ) );
}

HB_FUNC( XLSHEETSETPAPER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int paper = (int) hb_parni(2);

   xlSheetSetPaperA( handle , paper );
   hb_retnl(1);
}

HB_FUNC( XLSHEETHEADER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetHeaderA( handle ) );
}

HB_FUNC( XLSHEETSETHEADER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* header = (const char*) hb_parc(2);
   double margin = (double) hb_parnd(3);

   hb_retl( (int) xlSheetSetHeaderA( handle , header , margin ) != 0 );
}

HB_FUNC( XLSHEETHEADERMARGIN )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetHeaderMarginA( handle ) );
}

HB_FUNC( XLSHEETFOOTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetFooterA( handle ) );
}

HB_FUNC( XLSHEETSETFOOTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* footer = (const char*) hb_parc(2);
   double margin = (double) hb_parnd(3);

   hb_retl( (int) xlSheetSetFooterA( handle , footer , margin ) != 0 );
}

HB_FUNC( XLSHEETFOOTERMARGIN )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetFooterMarginA( handle ) );
}

HB_FUNC( XLSHEETHCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetHCenterA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETHCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int hCenter = (int) hb_parl(2);

   xlSheetSetHCenterA( handle , hCenter );
   hb_retnl(1);
}

HB_FUNC( XLSHEETVCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetVCenterA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETVCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int vCenter = (int) hb_parl(2);

   xlSheetSetVCenterA( handle , vCenter );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINLEFT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginLeftA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINLEFT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginLeftA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINRIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginRightA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINRIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginRightA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINTOP )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginTopA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINTOP )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginTopA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINBOTTOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginBottomA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINBOTTOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginBottomA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTROWCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetPrintRowColA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPRINTROWCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int print = (int) hb_parl(2);

   xlSheetSetPrintRowColA( handle , print );
   hb_retnl(1);
}

HB_FUNC( XLSHEETNAME )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetNameA( handle ) );
}

HB_FUNC( XLSHEETSETNAME )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);

   xlSheetSetNameA( handle , name );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPROTECT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetProtectA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPROTECT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int protect = (int) hb_parl(2);

   xlSheetSetProtectA( handle , protect );
   hb_retnl(1);
}

   // ---------
   // FormatA.H
   // ---------

HB_FUNC( XLFORMATFONT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retptr( (FontHandle) xlFormatFontA( handle ) );
}

HB_FUNC( XLFORMATSETFONT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   FontHandle fontHandle = (FontHandle) hb_parptr(2);

   hb_retl( (int) xlFormatSetFontA( handle , fontHandle ) != 0 );
}

HB_FUNC( XLFORMATNUMFORMAT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatNumFormatA( handle ) );
}

HB_FUNC( XLFORMATSETNUMFORMAT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int numFormat = (int) hb_parni(2);

   xlFormatSetNumFormatA( handle , numFormat );
   hb_retnl(1);
}

HB_FUNC( XLFORMATALIGNH )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatAlignHA( handle ) );
}

HB_FUNC( XLFORMATSETALIGNH )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int align = (int) hb_parni(2);

   xlFormatSetAlignHA( handle , align );
   hb_retnl(1);
}

HB_FUNC( XLFORMATALIGNV )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatAlignVA( handle ) );
}

HB_FUNC( XLFORMATSETALIGNV )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int align = (int) hb_parni(2);

   xlFormatSetAlignVA( handle , align );
   hb_retnl(1);
}

HB_FUNC( XLFORMATWRAP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatWrapA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETWRAP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int wrap = (int) hb_parl(2);

   xlFormatSetWrapA( handle , wrap );
   hb_retnl(1);
}

HB_FUNC( XLFORMATROTATION )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatRotationA( handle ) );
}

HB_FUNC( XLFORMATSETROTATION )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int rotation = (int) hb_parni(2);

   hb_retl( (int) xlFormatSetRotationA( handle , rotation ) != 0 );
}

HB_FUNC( XLFORMATINDENT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatIndentA( handle ) );
}

HB_FUNC( XLFORMATSETINDENT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int indent = (int) hb_parni(2);

   xlFormatSetIndentA( handle , indent );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSHRINKTOFIT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatShrinkToFitA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETSHRINKTOFIT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int shrinkToFit = (int) hb_parl(2);

   xlFormatSetShrinkToFitA( handle , shrinkToFit );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSETBORDER )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSETBORDERCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERLEFT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderLeftA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERLEFT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderLeftA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERRIGHT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderRightA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERRIGHT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderRightA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERTOP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderTopA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERTOP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderTopA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERBOTTOM )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderBottomA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERBOTTOM )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderBottomA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERLEFTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderLeftColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERLEFTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderLeftColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERRIGHTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderRightColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERRIGHTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderRightColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERTOPCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderTopColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERTOPCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderTopColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERBOTTOMCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderBottomColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERBOTTOMCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderBottomColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONAL )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONAL )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int border = (int) hb_parni(2);

   xlFormatSetBorderDiagonalA( handle , border );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONALSTYLE )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalStyleA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONALSTYLE )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderDiagonalStyleA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONALCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONALCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderDiagonalColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATFILLPATTERN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatFillPatternA( handle ) );
}

HB_FUNC( XLFORMATSETFILLPATTERN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int pattern = (int) hb_parni(2);

   xlFormatSetFillPatternA( handle , pattern );
   hb_retnl(1);
}

HB_FUNC( XLFORMATPATTERNFOREGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatPatternForegroundColorA( handle ) );
}

HB_FUNC( XLFORMATSETPATTERNFOREGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetPatternForegroundColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATPATTERNBACKGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatPatternBackgroundColorA( handle ) );
}

HB_FUNC( XLFORMATSETPATTERNBACKGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetPatternBackgroundColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATLOCKED )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatLockedA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETLOCKED )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int locked = (int) hb_parl(2);

   xlFormatSetLockedA( handle , locked );
   hb_retnl(1);
}

HB_FUNC( XLFORMATHIDDEN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatHiddenA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETHIDDEN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int hidden = (int) hb_parl(2);

   xlFormatSetHiddenA( handle , hidden );
   hb_retnl(1);
}

   // --------
   //  FontA.H
   // --------

HB_FUNC( XLFONTSIZE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontSizeA( handle ) );
}

HB_FUNC( XLFONTSETSIZE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int size = (int) hb_parni(2);

   xlFontSetSizeA( handle , size );
   hb_retnl(1);
}

HB_FUNC( XLFONTITALIC )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontItalicA( handle ) );
}

HB_FUNC( XLFONTSETITALIC )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int italic = (int) hb_parl(2);

   xlFontSetItalicA( handle , italic );
   hb_retnl(1);
}

HB_FUNC( XLFONTSTRIKEOUT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontStrikeOutA( handle ) );
}

HB_FUNC( XLFONTSETSTRIKEOUT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int strikeOut = (int) hb_parl(2);

   xlFontSetStrikeOutA( handle , strikeOut );
   hb_retnl(1);
}

HB_FUNC( XLFONTCOLOR )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontColorA( handle ) );
}

HB_FUNC( XLFONTSETCOLOR )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFontSetColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFONTBOLD )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontBoldA( handle ) );
}

HB_FUNC( XLFONTSETBOLD )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int bold = (int) hb_parl(2);

   xlFontSetBoldA( handle , bold );
   hb_retnl(1);
}

HB_FUNC( XLFONTSCRIPT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontScriptA( handle ) );
}

HB_FUNC( XLFONTSETSCRIPT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int script = (int) hb_parni(2);

   xlFontSetScriptA( handle , script );
   hb_retnl(1);
}

HB_FUNC( XLFONTUNDERLINE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontUnderlineA( handle ) );
}

HB_FUNC( XLFONTSETUNDERLINE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int underline = (int) hb_parni(2);

   xlFontSetUnderlineA( handle , underline );
   hb_retnl(1);
}

HB_FUNC( XLFONTNAME )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retc( (const char*) xlFontNameA( handle ) );
}

HB_FUNC( XLFONTSETNAME )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);

   xlFontSetNameA( handle , name );
   hb_retnl(1);
}

#pragma ENDDUMP
 


Estos son los errores de compilación:

Embarcadero C++ 7.00 for Win32 Copyright (c) 1993-2015 Embarcadero Technologies, Inc.
C:\fivedit\Libxlfnc.c:
Warning W8069 d:\\users\\jose\\desktop\\libxl-hbr\\source\\Libxlfnc.prg 112: Nonportable pointer conversion in function HB_FUN_XLBOOKSAVERAW
Warning W8075 d:\\users\\jose\\desktop\\libxl-hbr\\source\\Libxlfnc.prg 319: Suspicious pointer conversion in function HB_FUN_XLBOOKSETKEY
Warning W8075 d:\\users\\jose\\desktop\\libxl-hbr\\source\\Libxlfnc.prg 319: Suspicious pointer conversion in function HB_FUN_XLBOOKSETKEY
Error E2193 d:\\users\\jose\\desktop\\libxl-hbr\\source\\Libxlfnc.prg 629: Too few parameters in call to 'xlSheetSetPictureA' in function HB_FUN_XLSHEETSETPICTURE
Error E2193 d:\\users\\jose\\desktop\\libxl-hbr\\source\\Libxlfnc.prg 642: Too few parameters in call to 'xlSheetSetPicture2A' in function HB_FUN_XLSHEETSETPICTURE2
*** 2 errors in Compile ***


Podría alguien con mayor dominio de C que yo ayudarme a eliminar estos errores y warnings.

Gracias desde ya. :D
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Ayuda con Wrapper LibXL

Postby jvtecheto » Tue Dec 06, 2022 10:30 am

Hola tocayo.

Por lo que veo en los 2 errores que te aparecen, te avisa que la funcion
Code: Select all  Expand view  RUN
xlSheetSetPictureA( handle , row , col , pictureId , scale );

le faltan parametros.

deberias de ver el fichero de cabecera de la lib , libxl.h, que parametros se deben de pasar a las
dos funciones. xlSheetSetPictureA y xlSheetSetPicture2A

mirando en la documentacion del producto te dice esto.
Code: Select all  Expand view  RUN

void xlSheetSetPicture(SheetHandle handle, int row, int col, int pictureId, double scale, int offset_x, int offset_y, int pos)
void xlSheetSetPicture2(SheetHandle handle, int row, int col, int pictureId, int width, int height,
 


como ves te faltarian los parametros del offset_x, offset_y , pos .
Supongo que han cambiado algo de la lib y este wrapper es mas antiguo.

Algun experto en C(de los muchos del foro), podria echar una mano.

La lib, vale una pasta, 199 USD, :oops:

Espero que lo soluciones.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 602
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Ayuda con Wrapper LibXL

Postby jose_murugosa » Tue Dec 06, 2022 3:09 pm

Muchas gracias Jose por tu valiosa orientación

Voy a ponerme a averiguar y ver que hago.

Si alguien que conozca mejor que yo C pudiera hacer un pequeño aporte sería bueno para poder hechar a andar la lib.

La lib yo la compré porque había varios post en el foro de gente que la usaba, pensé que me sería más fácil obtener un wrapper funcional.

Nuevamente muchisimas gracias
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Ayuda con Wrapper LibXL

Postby Antonio Linares » Tue Dec 06, 2022 8:31 pm

Estimado José,

Con los cambios que te ha indicado José, debería funcionar bien. Puedes ignorar esos warnings :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda con Wrapper LibXL

Postby jose_murugosa » Tue Dec 06, 2022 9:17 pm

Muchas Gracias José y Antonio

Este finde me dedicaré a poner estas cosas en practica, y les cuento.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Ayuda con Wrapper LibXL

Postby jose_murugosa » Thu Dec 08, 2022 3:21 pm

He hecho los cambios necesarios en el wrapper, finalmente quedó así:

Code: Select all  Expand view  RUN

/*
 * LibxlFnc.prg - Wrapper for xHarbour - Libxl
 * -------------------------------------------
 *
 * LibXL is a library for direct reading and writing Excel files.
 * http://www.libxl.com
 * Based on libxl for windows 3.0.2 - 2010.09.15
 *
 * Copyright 2010 Edmond Broux <broux.edmond@wanadoo.fr>
 *                Edmond Broux 24700 Montpon Menesterol France
 *
 * Thanks to Jan Sperling
 * Thanks to Jean-Noel Dechereux - http://www.ntkproject.com
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software; see the file COPYING.  If not, write to
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
 *
 * As a special exception, the Harbour Project gives permission for
 * additional uses of the text contained in its release of Harbour.
 *
 * The exception is that, if you link the Harbour libraries with other
 * files to produce an executable, this does not by itself cause the
 * resulting executable to be covered by the GNU General Public License.
 * Your use of that executable is in no way restricted on account of
 * linking the Harbour library code into it.
 *
 * This exception does not however invalidate any other reasons why
 * the executable file might be covered by the GNU General Public License.
 *
 * This exception applies only to the code released by the Harbour
 * Project under the name Harbour.  If you copy code from other
 * Harbour Project or Free Software Foundation releases into a copy of
 * Harbour, as the General Public License permits, the exception does
 * not apply to the code that you add in this way.  To avoid misleading
 * anyone as to the status of such modified files, you must delete
 * this exception notice from them.
 *
 * If you write modifications of your own for Harbour, it is your choice
 * whether to permit this exception to apply to your modifications.
 * If you do not wish that, delete this exception notice.
*/

*------------------------------------------------------------------------------
* Low Level C Routines
*------------------------------------------------------------------------------

#pragma BEGINDUMP

   //#include <windows.h>
   #include "shlobj.h"
   #include "hbapi.h"
   #include "hbvm.h"
   #include "hbstack.h"
   #include "hbapiitm.h"
   #include "..\include\libxl.h"
   // BookA.H

HB_FUNC( XLCREATEBOOKC )
{
   hb_retptr( (BookHandle) xlCreateBookCA() );
}

HB_FUNC( XLCREATEXMLBOOKC )
{
   hb_retptr( (BookHandle) xlCreateXMLBookCA() );
}

HB_FUNC( XLBOOKLOAD )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retl( (int) xlBookLoadA( handle , filename ) != 0 );
}

HB_FUNC( XLBOOKSAVE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retl( (int) xlBookSaveA( handle , filename ) != 0 );
}

HB_FUNC( XLBOOKLOADRAW )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* data  = (const char*) hb_parc(2);
   unsigned size = (unsigned) hb_parni(3);

   hb_retl( (int) xlBookLoadRawA( handle , data , size ) != 0 );
}

HB_FUNC( XLBOOKSAVERAW )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char** data  = (const char**) hb_parc(2);
   unsigned* size = (unsigned) hb_parni(3);

   hb_retl( (int) xlBookSaveRawA( handle , data , size ) != 0 );
}

HB_FUNC( XLBOOKADDSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);
   SheetHandle initSheet = (SheetHandle) hb_parptr(3);

   hb_retptr( (SheetHandle) xlBookAddSheetA( handle , name , initSheet ) );
}

HB_FUNC( XLBOOKGETSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (SheetHandle) xlBookGetSheetA( handle , index ) );
}

HB_FUNC( XLBOOKDELSHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retl( (int) xlBookDelSheetA( handle , index ) != 0 );
}

HB_FUNC( XLBOOKSHEETCOUNT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookSheetCountA( handle ) );
}

HB_FUNC( XLBOOKADDFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   FormatHandle initFormat = (FormatHandle) hb_parptr(2);

   hb_retptr( (FormatHandle) xlBookAddFormatA( handle , initFormat ) );
}

HB_FUNC( XLBOOKADDFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   FontHandle initFont = (FontHandle) hb_parptr(2);

   hb_retptr( (FontHandle) xlBookAddFontA( handle , initFont ) );
}

HB_FUNC( XLBOOKADDCUSTOMNUMFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* customNumFormat = (const char*) hb_parc(2);

   hb_retni( (int) xlBookAddCustomNumFormatA( handle , customNumFormat ) );
}

HB_FUNC( XLBOOKCUSTOMNUMFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int fmt = (int) hb_parni(2);

   hb_retc( (const char*) xlBookCustomNumFormatA( handle , fmt ) );
}

HB_FUNC( XLBOOKFORMAT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (FormatHandle) xlBookFormatA( handle , index ) );
}

HB_FUNC( XLBOOKFORMATSIZE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookFormatSizeA( handle ) );
}

HB_FUNC( XLBOOKFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   hb_retptr( (FontHandle) xlBookFontA( handle , index ) );
}

HB_FUNC( XLBOOKFONTSIZE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookFontSizeA( handle ) );
}

HB_FUNC( XLBOOKDATEPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int year = (int) hb_parni(2);
   int month = (int) hb_parni(3);
   int day = (int) hb_parni(4);
   int hour = (int) hb_parni(5);
   int min = (int) hb_parni(6);
   int sec = (int) hb_parni(7);
   int msec = (int) hb_parni(8);

   hb_retnd( (double) xlBookDatePackA( handle , year , month , day , hour , min , sec , msec ) );
}

HB_FUNC( XLBOOKDATEUNPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   double value = (double) hb_parnd(2);
   int* year = (int*) hb_parni(3);
   int* month = (int*) hb_parni(4);
   int* day = (int*) hb_parni(5);
   int* hour = (int*) hb_parni(6);
   int* min = (int*) hb_parni(7);
   int* sec = (int*) hb_parni(8);
   int* msec = (int*) hb_parni(9);

   hb_retl( (int) xlBookDateUnpackA( handle , value , year , month , day , hour , min , sec , msec ) != 0 );
}

HB_FUNC( XLBOOKCOLORPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int red = (int) hb_parni(2);
   int green = (int) hb_parni(3);
   int blue = (int) hb_parni(4);

   hb_retni( (int) xlBookColorPackA( handle , red , green , blue ) );
}

HB_FUNC( XLBOOKCOLORUNPACK )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int color = (int) hb_parni(2);
   int* red = (int*) hb_parni(3);
   int* green = (int*) hb_parni(4);
   int* blue = (int*) hb_parni(5);

   xlBookColorUnpackA( handle , color , red , green , blue );
   hb_retnl(1);
}

HB_FUNC( XLBOOKACTIVESHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retni( (int) xlBookActiveSheetA( handle ) );
}

HB_FUNC( XLBOOKSETACTIVESHEET )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int index = (int) hb_parni(2);

   xlBookSetActiveSheetA( handle , index );
   hb_retnl(1);
}

HB_FUNC( XLBOOKADDPICTURE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* filename = (const char*) hb_parc(2);

   hb_retni( (int) xlBookAddPictureA( handle , filename ) );
}

HB_FUNC( XLBOOKADDPICTURE2 )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* data = (const char*) hb_parc(2);
   unsigned size = (unsigned) hb_parni(3);

   hb_retni( (int) xlBookAddPicture2A( handle , data , size ) );
}

HB_FUNC( XLBOOKDEFAULTFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int* fontSize = (int*) hb_parni(2);

   hb_retc( (const char*) xlBookDefaultFontA( handle , fontSize ) );
}

HB_FUNC( XLBOOKSETDEFAULTFONT )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* fontName = (const char*) hb_parc(2);
   int fontSize = (int) hb_parni(3);

   xlBookSetDefaultFontA( handle , fontName , fontSize );
   hb_retnl(1);
}

HB_FUNC( XLBOOKSETKEY )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const wchar_t* name = (const wchar_t*) hb_parc(2);
   const wchar_t* key  = (const wchar_t*) hb_parc(3);

   xlBookSetKeyA( handle , name , key );
   hb_retnl(1);
}

HB_FUNC( XLBOOKRGBMODE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retl( (int) xlBookRgbModeA( handle ) != 0 );
}

HB_FUNC( XLBOOKSETRGBMODE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   int rgbMode = (int) hb_parl(2);

   xlBookSetRgbModeA( handle , rgbMode );
   hb_retnl(1);
}

HB_FUNC( XLBOOKSETLOCALE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);
   const char* locale = (const char*) hb_parc(2);

   xlBookSetLocaleA( handle , locale );
   hb_retnl(1);
}

HB_FUNC( XLBOOKERRORMESSAGE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   hb_retc( (const char*) xlBookErrorMessageA( handle ) );
}

HB_FUNC( XLBOOKRELEASE )
{
   BookHandle handle = (BookHandle) hb_parptr(1);

   xlBookReleaseA( handle );
   hb_retnl(1);
}

   // --------
   // SheetA.H
   // --------

HB_FUNC( XLSHEETCELLTYPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retni( (int) xlSheetCellTypeA( handle , row , col) );
}

HB_FUNC( XLSHEETISFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetIsFormulaA( handle , row , col) != 0 );
}

HB_FUNC( XLSHEETCELLFORMAT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retptr( (FormatHandle) xlSheetCellFormatA( handle , row , col) );
}

HB_FUNC( XLSHEETSETCELLFORMAT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);

   xlSheetSetCellFormatA( handle , row , col , format );
   hb_retnl(1);
}

HB_FUNC( XLSHEETREADSTR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retc( (const char*) xlSheetReadStrA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITESTR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteStrA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADNUM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retnd( (double) xlSheetReadNumA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITENUM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   double value = (double) hb_parnd(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteNumA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADBOOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retl( (int) xlSheetReadBoolA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETWRITEBOOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int value  = (int) hb_parl(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteBoolA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADBLANK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retl( (int) xlSheetReadBlankA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETWRITEBLANK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);

   hb_retl( (int) xlSheetWriteBlankA( handle , row , col , format ) != 0 );
}

HB_FUNC( XLSHEETREADFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   FormatHandle* format = (FormatHandle*) hb_parptr(4);

   hb_retc( (const char*) xlSheetReadFormulaA( handle , row , col , format ) );
}

HB_FUNC( XLSHEETWRITEFORMULA )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);

   hb_retl( (int) xlSheetWriteFormulaA( handle , row , col , value , format ) != 0 );
}

HB_FUNC( XLSHEETREADCOMMENT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retc( (const char*) xlSheetReadCommentA( handle , row , col ) );
}

HB_FUNC( XLSHEETWRITECOMMENT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   const char* value = (const char*) hb_parc(4);
   const char* author = (const char*) hb_parc(5);
   int width = (int) hb_parni(6);
   int height = (int) hb_parni(7);

   xlSheetWriteCommentA( handle , row , col , value , author , width , height);
   hb_retnl(1);
}

HB_FUNC( XLSHEETISDATE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetIsDateA( handle , row , col ) != 0 );
}

HB_FUNC( XLSHEETREADERROR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retni( (int) xlSheetReadErrorA( handle , row , col ) );
}

HB_FUNC( XLSHEETCOLWIDTH )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int col = (int) hb_parni(2);

   hb_retnd( (double) xlSheetColWidthA( handle , col ) );
}

HB_FUNC( XLSHEETROWHEIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);

   hb_retnd( (double) xlSheetRowHeightA( handle , row ) );
}

HB_FUNC( XLSHEETSETCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);
   double width = (double) hb_parnd(4);
   FormatHandle format = (FormatHandle) hb_parptr(5);
   int hidden = (int) hb_parl(6);

   hb_retl( (int) xlSheetSetColA( handle , colFirst , colLast , width , format , hidden ) != 0 );
}

HB_FUNC( XLSHEETSETROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   double height = (double) hb_parnd(3);
   FormatHandle format = (FormatHandle) hb_parptr(4);
   int hidden = (int) hb_parl(5);

   hb_retl( (int) xlSheetSetRowA( handle , row , height , format , hidden ) != 0 );
}
HB_FUNC( XLSHEETGETMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int* rowFirst = (int*) hb_parni(4);
   int* rowLast  = (int*) hb_parni(5);
   int* colFirst = (int*) hb_parni(6);
   int* colLast  = (int*) hb_parni(7);

   hb_retl( (int) xlSheetGetMergeA( handle , row , col , rowFirst , rowLast , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETSETMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int colFirst = (int) hb_parni(4);
   int colLast = (int) hb_parni(5);

   hb_retl( (int) xlSheetSetMergeA( handle , rowFirst , rowLast , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETDELMERGE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   hb_retl( (int) xlSheetDelMergeA( handle , row , col ) != 0 );
}

HB_FUNC( XLSHEETSETPICTURE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);
   int pictureId = (int) hb_parni(4);
   double scale  = (double) hb_parnd(5);
   int offset_x  = (int)hb_parni(6);
   int offset_y  = (int)hb_parni(7);
   int pos       = (int)hb_parni(8);

   xlSheetSetPictureA( handle , row , col , pictureId , scale, offset_x, offset_y, pos );
   hb_retnl(1);
}

HB_FUNC( XLSHEETSETPICTURE2 )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row       = (int) hb_parni(2);
   int col       = (int) hb_parni(3);
   int pictureId = (int) hb_parni(4);
   int width     = (int) hb_parni(5);
   int height    = (int) hb_parni(6);
   int offset_x  = (int) hb_parni(7);
   int offset_y  = (int) hb_parni(8);
   int pos       = (int) hb_parni(9);

   xlSheetSetPicture2A( handle , row , col , pictureId , width , height, offset_x, offset_y, pos);
   hb_retnl(1);
}

HB_FUNC( XLSHEETSETHORPAGEBREAK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int pageBreak = (int) hb_parl(3);

   hb_retl( (int) xlSheetSetHorPageBreakA( handle , row , pageBreak ) != 0 );
}

HB_FUNC( XLSHEETSETVERPAGEBREAK )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int col = (int) hb_parni(2);
   int pageBreak = (int) hb_parl(3);

   hb_retl( (int) xlSheetSetVerPageBreakA( handle , col , pageBreak ) != 0 );
}

HB_FUNC( XLSHEETSPLIT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int row = (int) hb_parni(2);
   int col = (int) hb_parni(3);

   xlSheetSplitA( handle , row , col );
   hb_retnl(1);
}

HB_FUNC( XLSHEETGROUPROWS )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int collapsed = (int) hb_parl(4);

   hb_retl( (int) xlSheetGroupRowsA( handle , rowFirst , rowLast , collapsed ) != 0 );
}

HB_FUNC( XLSHEETGROUPCOLS )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);
   int collapsed = (int) hb_parl(4);

   hb_retl( (int) xlSheetGroupColsA( handle , colFirst , colLast , collapsed ) != 0 );
}

HB_FUNC( XLSHEETCLEAR )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);
   int colFirst = (int) hb_parni(4);
   int colLast = (int) hb_parni(5);

   xlSheetClearA( handle , rowFirst , rowLast , colFirst , colLast );
   hb_retnl(1);
}

HB_FUNC( XLSHEETINSERTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetInsertColA( handle , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETINSERTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetInsertRowA( handle , rowFirst , rowLast ) != 0 );
}

HB_FUNC( XLSHEETREMOVECOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int colFirst = (int) hb_parni(2);
   int colLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetRemoveColA( handle , colFirst , colLast ) != 0 );
}

HB_FUNC( XLSHEETREMOVEROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowFirst = (int) hb_parni(2);
   int rowLast = (int) hb_parni(3);

   hb_retl( (int) xlSheetRemoveRowA( handle , rowFirst , rowLast ) != 0 );
}

HB_FUNC( XLSHEETCOPYCELL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int rowSrc = (int) hb_parni(2);
   int colSrc = (int) hb_parni(3);
   int rowDst = (int) hb_parni(4);
   int colDst = (int) hb_parni(5);

   hb_retl( (int) xlSheetCopyCellA( handle , rowSrc , colSrc , rowDst , colDst ) != 0 );
}

HB_FUNC( XLSHEETFIRSTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetFirstRowA( handle ) );
}

HB_FUNC( XLSHEETLASTROW )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetLastRowA( handle ) );
}

HB_FUNC( XLSHEETFIRSTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetFirstColA( handle ) );
}

HB_FUNC( XLSHEETLASTCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetLastColA( handle ) );
}

HB_FUNC( XLSHEETDISPLAYGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetDisplayGridlinesA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETDISPLAYGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int show = (int) hb_parl(2);

   xlSheetSetDisplayGridlinesA( handle , show );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetPrintGridlinesA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPRINTGRIDLINES )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int print = (int) hb_parl(2);

   xlSheetSetPrintGridlinesA( handle , print );
   hb_retnl(1);
}

HB_FUNC( XLSHEETZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetZoomA( handle ) );
}

HB_FUNC( XLSHEETSETZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int zoom = (int) hb_parni(2);

   xlSheetSetZoomA( handle , zoom );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetPrintZoomA( handle ) );
}

HB_FUNC( XLSHEETSETPRINTZOOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int zoom = (int) hb_parni(2);

   xlSheetSetPrintZoomA( handle , zoom );
   hb_retnl(1);
}

HB_FUNC( XLSHEETLANDSCAPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetLandscapeA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETLANDSCAPE )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int landscape = (int) hb_parl(2);

   xlSheetSetLandscapeA( handle , landscape );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPAPER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retni( (int) xlSheetPaperA( handle ) );
}

HB_FUNC( XLSHEETSETPAPER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int paper = (int) hb_parni(2);

   xlSheetSetPaperA( handle , paper );
   hb_retnl(1);
}

HB_FUNC( XLSHEETHEADER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetHeaderA( handle ) );
}

HB_FUNC( XLSHEETSETHEADER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* header = (const char*) hb_parc(2);
   double margin = (double) hb_parnd(3);

   hb_retl( (int) xlSheetSetHeaderA( handle , header , margin ) != 0 );
}

HB_FUNC( XLSHEETHEADERMARGIN )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetHeaderMarginA( handle ) );
}

HB_FUNC( XLSHEETFOOTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetFooterA( handle ) );
}

HB_FUNC( XLSHEETSETFOOTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* footer = (const char*) hb_parc(2);
   double margin = (double) hb_parnd(3);

   hb_retl( (int) xlSheetSetFooterA( handle , footer , margin ) != 0 );
}

HB_FUNC( XLSHEETFOOTERMARGIN )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetFooterMarginA( handle ) );
}

HB_FUNC( XLSHEETHCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetHCenterA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETHCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int hCenter = (int) hb_parl(2);

   xlSheetSetHCenterA( handle , hCenter );
   hb_retnl(1);
}

HB_FUNC( XLSHEETVCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetVCenterA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETVCENTER )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int vCenter = (int) hb_parl(2);

   xlSheetSetVCenterA( handle , vCenter );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINLEFT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginLeftA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINLEFT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginLeftA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINRIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginRightA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINRIGHT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginRightA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINTOP )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginTopA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINTOP )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginTopA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETMARGINBOTTOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retnd( (double) xlSheetMarginBottomA( handle ) );
}

HB_FUNC( XLSHEETSETMARGINBOTTOM )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   double margin = (double) hb_parnd(2);

   xlSheetSetMarginBottomA( handle , margin );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPRINTROWCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetPrintRowColA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPRINTROWCOL )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int print = (int) hb_parl(2);

   xlSheetSetPrintRowColA( handle , print );
   hb_retnl(1);
}

HB_FUNC( XLSHEETNAME )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retc( (const char*) xlSheetNameA( handle ) );
}

HB_FUNC( XLSHEETSETNAME )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);

   xlSheetSetNameA( handle , name );
   hb_retnl(1);
}

HB_FUNC( XLSHEETPROTECT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);

   hb_retl( (int) xlSheetProtectA( handle ) != 0 );
}

HB_FUNC( XLSHEETSETPROTECT )
{
   SheetHandle handle = (SheetHandle) hb_parptr(1);
   int protect = (int) hb_parl(2);

   xlSheetSetProtectA( handle , protect );
   hb_retnl(1);
}

   // ---------
   // FormatA.H
   // ---------

HB_FUNC( XLFORMATFONT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retptr( (FontHandle) xlFormatFontA( handle ) );
}

HB_FUNC( XLFORMATSETFONT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   FontHandle fontHandle = (FontHandle) hb_parptr(2);

   hb_retl( (int) xlFormatSetFontA( handle , fontHandle ) != 0 );
}

HB_FUNC( XLFORMATNUMFORMAT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatNumFormatA( handle ) );
}

HB_FUNC( XLFORMATSETNUMFORMAT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int numFormat = (int) hb_parni(2);

   xlFormatSetNumFormatA( handle , numFormat );
   hb_retnl(1);
}

HB_FUNC( XLFORMATALIGNH )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatAlignHA( handle ) );
}

HB_FUNC( XLFORMATSETALIGNH )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int align = (int) hb_parni(2);

   xlFormatSetAlignHA( handle , align );
   hb_retnl(1);
}

HB_FUNC( XLFORMATALIGNV )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatAlignVA( handle ) );
}

HB_FUNC( XLFORMATSETALIGNV )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int align = (int) hb_parni(2);

   xlFormatSetAlignVA( handle , align );
   hb_retnl(1);
}

HB_FUNC( XLFORMATWRAP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatWrapA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETWRAP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int wrap = (int) hb_parl(2);

   xlFormatSetWrapA( handle , wrap );
   hb_retnl(1);
}

HB_FUNC( XLFORMATROTATION )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatRotationA( handle ) );
}

HB_FUNC( XLFORMATSETROTATION )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int rotation = (int) hb_parni(2);

   hb_retl( (int) xlFormatSetRotationA( handle , rotation ) != 0 );
}

HB_FUNC( XLFORMATINDENT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatIndentA( handle ) );
}

HB_FUNC( XLFORMATSETINDENT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int indent = (int) hb_parni(2);

   xlFormatSetIndentA( handle , indent );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSHRINKTOFIT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatShrinkToFitA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETSHRINKTOFIT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int shrinkToFit = (int) hb_parl(2);

   xlFormatSetShrinkToFitA( handle , shrinkToFit );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSETBORDER )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATSETBORDERCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERLEFT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderLeftA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERLEFT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderLeftA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERRIGHT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderRightA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERRIGHT )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderRightA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERTOP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderTopA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERTOP )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderTopA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERBOTTOM )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderBottomA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERBOTTOM )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderBottomA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERLEFTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderLeftColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERLEFTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderLeftColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERRIGHTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderRightColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERRIGHTCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderRightColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERTOPCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderTopColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERTOPCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderTopColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERBOTTOMCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderBottomColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERBOTTOMCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderBottomColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONAL )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONAL )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int border = (int) hb_parni(2);

   xlFormatSetBorderDiagonalA( handle , border );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONALSTYLE )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalStyleA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONALSTYLE )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int style = (int) hb_parni(2);

   xlFormatSetBorderDiagonalStyleA( handle , style );
   hb_retnl(1);
}

HB_FUNC( XLFORMATBORDERDIAGONALCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatBorderDiagonalColorA( handle ) );
}

HB_FUNC( XLFORMATSETBORDERDIAGONALCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetBorderDiagonalColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATFILLPATTERN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatFillPatternA( handle ) );
}

HB_FUNC( XLFORMATSETFILLPATTERN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int pattern = (int) hb_parni(2);

   xlFormatSetFillPatternA( handle , pattern );
   hb_retnl(1);
}

HB_FUNC( XLFORMATPATTERNFOREGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatPatternForegroundColorA( handle ) );
}

HB_FUNC( XLFORMATSETPATTERNFOREGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetPatternForegroundColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATPATTERNBACKGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retni( (int) xlFormatPatternBackgroundColorA( handle ) );
}

HB_FUNC( XLFORMATSETPATTERNBACKGROUNDCOLOR )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFormatSetPatternBackgroundColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFORMATLOCKED )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatLockedA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETLOCKED )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int locked = (int) hb_parl(2);

   xlFormatSetLockedA( handle , locked );
   hb_retnl(1);
}

HB_FUNC( XLFORMATHIDDEN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);

   hb_retl( (int) xlFormatHiddenA( handle ) != 0 );
}

HB_FUNC( XLFORMATSETHIDDEN )
{
   FormatHandle handle = (FormatHandle) hb_parptr(1);
   int hidden = (int) hb_parl(2);

   xlFormatSetHiddenA( handle , hidden );
   hb_retnl(1);
}

   // --------
   //  FontA.H
   // --------

HB_FUNC( XLFONTSIZE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontSizeA( handle ) );
}

HB_FUNC( XLFONTSETSIZE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int size = (int) hb_parni(2);

   xlFontSetSizeA( handle , size );
   hb_retnl(1);
}

HB_FUNC( XLFONTITALIC )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontItalicA( handle ) );
}

HB_FUNC( XLFONTSETITALIC )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int italic = (int) hb_parl(2);

   xlFontSetItalicA( handle , italic );
   hb_retnl(1);
}

HB_FUNC( XLFONTSTRIKEOUT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontStrikeOutA( handle ) );
}

HB_FUNC( XLFONTSETSTRIKEOUT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int strikeOut = (int) hb_parl(2);

   xlFontSetStrikeOutA( handle , strikeOut );
   hb_retnl(1);
}

HB_FUNC( XLFONTCOLOR )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontColorA( handle ) );
}

HB_FUNC( XLFONTSETCOLOR )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int color = (int) hb_parni(2);

   xlFontSetColorA( handle , color );
   hb_retnl(1);
}

HB_FUNC( XLFONTBOLD )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontBoldA( handle ) );
}

HB_FUNC( XLFONTSETBOLD )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int bold = (int) hb_parl(2);

   xlFontSetBoldA( handle , bold );
   hb_retnl(1);
}

HB_FUNC( XLFONTSCRIPT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontScriptA( handle ) );
}

HB_FUNC( XLFONTSETSCRIPT )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int script = (int) hb_parni(2);

   xlFontSetScriptA( handle , script );
   hb_retnl(1);
}

HB_FUNC( XLFONTUNDERLINE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retni( (int) xlFontUnderlineA( handle ) );
}

HB_FUNC( XLFONTSETUNDERLINE )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   int underline = (int) hb_parni(2);

   xlFontSetUnderlineA( handle , underline );
   hb_retnl(1);
}

HB_FUNC( XLFONTNAME )
{
   FontHandle handle = (FontHandle) hb_parptr(1);

   hb_retc( (const char*) xlFontNameA( handle ) );
}

HB_FUNC( XLFONTSETNAME )
{
   FontHandle handle = (FontHandle) hb_parptr(1);
   const char* name = (const char*) hb_parc(2);

   xlFontSetNameA( handle , name );
   hb_retnl(1);
}

#pragma ENDDUMP
 


Al compilar me da los siguientes warnings:

Code: Select all  Expand view  RUN

Compiling 'd:\xbase-proyectos\libxl\source\Libxlfnc.prg'...
Lines 1605, Functions/Procedures 0
Generating C source output to 'C:\fivedit\Libxlfnc.c'... Done.
Embarcadero C++ 7.00 for Win32 Copyright (c) 1993-2015 Embarcadero Technologies, Inc.
C:\fivedit\Libxlfnc.c:
Warning W8069 d:\\xbase-proyectos\\libxl\\source\\Libxlfnc.prg 108: Nonportable pointer conversion in function HB_FUN_XLBOOKSAVERAW
Warning W8075 d:\\xbase-proyectos\\libxl\\source\\Libxlfnc.prg 315: Suspicious pointer conversion in function HB_FUN_XLBOOKSETKEY
Warning W8075 d:\\xbase-proyectos\\libxl\\source\\Libxlfnc.prg 315: Suspicious pointer conversion in function HB_FUN_XLBOOKSETKEY

 


y no me genera la lib.
Dado que me han dicho que estos warnings no importan, consulto; ¿Cuáles serían los parámetros para compilar esta lib con los warnings?, porque lo intento y no compil
a

Gracias desde ya por vuestra ayuda.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Ayuda con Wrapper LibXL

Postby Antonio Linares » Fri Dec 09, 2022 8:25 am

José,

Al compilar te ha debido generar un fichero OBJ y con ese fichero OBJ construyes la lib

Que compilador de C estás usando ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda con Wrapper LibXL

Postby jose_murugosa » Fri Dec 09, 2022 11:10 am

Gracias nuevamente Antonio,

El compilador que uso es bcc 7
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Ayuda con Wrapper LibXL

Postby Antonio Linares » Fri Dec 09, 2022 11:22 am

Estimado José,

Entonces prueba lo siguiente:

tlib.exe libXL + LibxlFnc.obj

Debería construir libXL.lib :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda con Wrapper LibXL

Postby jose_murugosa » Fri Dec 09, 2022 1:12 pm

Gracias Antonio, logré crear la lib.
Ahora voy a tratar de trabajar con los ejemplos

Gracias a todos por su ayuda!! :D
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 102 guests