QTextDocumentWriter

49 views
Skip to first unread message

Luigi Ferraris

unread,
Apr 7, 2016, 9:05:49 AM4/7/16
to QtContribs
Hi Pritpal,
I follow example on internet to save file using QTextDocumentWriter.
I write this code
STATIC PROCEDURE udfWrite( oTextDocument )
   LOCAL oWriter
  
   oWriter := QTextDocumentWriter( hb_FnameMerge( hb_DirBase(), "test", "odt" ), QByteArray( "odt" ) )
//(1)   oWriter := QTextDocumentWriter( hb_FnameMerge( hb_DirBase(), "test", "odt" ) )
//(1)   oWriter:setFormat( QByteArray( "odt" ) )

   oWriter:write( oTextDocument )

RETURN


nb oTextDocument is a QTextDocument object.

But it doesn't write anything.
Using (1) program crash with hb_out.log

Regards
Luigi Ferraris

Luigi Ferraris

unread,
Apr 7, 2016, 9:36:09 AM4/7/16
to QtContribs
Hi Pritpal,
I understand something...
Using next code works fine
   oWriter := QTextDocumentWriter()
   oWriter:setFileName( hb_FnameMerge( hb_DirBase(), "prova", "odt" ) )

   oWriter:setFormat( QByteArray( "odt" ) )


Because QTextDocumentWriter.qth (constructor) in not finished; so can you add next code?
<CODE>
#include <QtGui/QTextDocumentWriter>


/*
 * QTextDocumentWriter ()
 * QTextDocumentWriter ( QIODevice * device, const QByteArray & format )
 * QTextDocumentWriter ( const QString & fileName, const QByteArray & format = QByteArray() )
 * ~QTextDocumentWriter ()
 */
HB_FUNC( QT_QTEXTDOCUMENTWRITER )
{
   if( hb_pcount() == 2 && hbqt_par_isDerivedFrom( 1, "QIODEVICE" ) && hbqt_par_isDerivedFrom( 2, "QBYTEARRAY" ) )
   {
      __HB_RETPTRGC__( new QTextDocumentWriter( *hbqt_par_QIODevice( 1 ),  *hbqt_par_QByteArray( 2 ) ) );
   }
   else if( hb_pcount() == 2 && HB_ISCHAR( 1 ) && hbqt_par_isDerivedFrom( 2, "QBYTEARRAY" ) )
   {
      void * pText01 = NULL;
      __HB_RETPTRGC__( new QTextDocumentWriter( hb_parstr_utf8( 1, &pText01, NULL ), *hbqt_par_QByteArray( 2 ) ) );
      hb_strfree( pText01 );
   }
   else if( hb_pcount() == 1 && HB_ISCHAR( 1 ) )
   {
      void * pText01 = NULL;
      __HB_RETPTRGC__( new QTextDocumentWriter( hb_parstr_utf8( 1, &pText01, NULL ) ) );
      hb_strfree( pText01 );
   }
   else if( hb_pcount() == 0 )
   }
      __HB_RETPTRGC__( new QTextDocumentWriter() );
   }
   hb_errRT_BASE( EG_ARG, 9999, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
</CODE>


Regards
Luigi Ferraris

Luigi Ferraris

unread,
Apr 7, 2016, 10:25:33 AM4/7/16
to QtContribs
Hi
a little errata corrige about code

<CODE>
#include <QtGui/QTextDocumentWriter>


/*
 * QTextDocumentWriter ()
 * QTextDocumentWriter ( QIODevice * device, const QByteArray & format )
 * QTextDocumentWriter ( const QString & fileName, const QByteArray & format = QByteArray() )
 * ~QTextDocumentWriter ()
 */
HB_FUNC( QT_QTEXTDOCUMENTWRITER )
{
   if( hb_pcount() == 2 && hbqt_par_isDerivedFrom( 1, "QIODEVICE" ) && hbqt_par_isDerivedFrom( 2, "QBYTEARRAY" ) )
   {
      __HB_RETPTRGC__( new QTextDocumentWriter( *hbqt_par_QIODevice( 1 ),  *hbqt_par_QByteArray( 2 ) ) );
   }
   else if( hb_pcount() == 2 && HB_ISCHAR( 1 ) && hbqt_par_isDerivedFrom( 2, "QBYTEARRAY" ) )
   {
      void * pText01 = NULL;
      __HB_RETPTRGC__( new QTextDocumentWriter( hb_parstr_utf8( 1, &pText01, NULL ), *hbqt_par_QByteArray( 2 ) ) );
      hb_strfree( pText01 );
   }
   else if( hb_pcount() == 1 && HB_ISCHAR( 1 ) )
   {
      void * pText01 = NULL;
      __HB_RETPTRGC__( new QTextDocumentWriter( hb_parstr_utf8( 1, &pText01, NULL ) ) );
      hb_strfree( pText01 );
   }
   else if( hb_pcount() == 0 )
   }
      __HB_RETPTRGC__( new QTextDocumentWriter() );
   }
   else
   {

      hb_errRT_BASE( EG_ARG, 9999, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
   }

}
</CODE>

Reply all
Reply to author
Forward
0 new messages