Beispiel #1
0
PHB_ITEM hb_errPutFileName( PHB_ITEM pError, const char * szFileName )
{
   HB_TRACE( HB_TR_DEBUG, ( "hb_errPutFileName(%p, %s)", pError, szFileName ) );

   hb_arraySetC( pError, HB_TERROR_FILENAME, szFileName );

   return pError;
}
Beispiel #2
0
PHB_ITEM hb_errPutSubSystem( PHB_ITEM pError, const char * szSubSystem )
{
   HB_TRACE( HB_TR_DEBUG, ( "hb_errPutSubSytem(%p, %s)", pError, szSubSystem ) );

   hb_arraySetC( pError, HB_TERROR_SUBSYSTEM, szSubSystem );

   return pError;
}
Beispiel #3
0
PHB_ITEM hb_errPutDescription( PHB_ITEM pError, const char * szDescription )
{
   HB_TRACE( HB_TR_DEBUG, ( "hb_errPutDescription(%p, %s)", pError, szDescription ) );

   hb_arraySetC( pError, HB_TERROR_DESCRIPTION, szDescription );

   return pError;
}
Beispiel #4
0
static HB_ERRCODE s_waList( AREAP pArea, void * Cargo )
{
   PHB_ITEM pArray = ( PHB_ITEM ) Cargo;
   HB_SIZE  nLen   = hb_arrayLen( pArray ) + 1;

   hb_arraySize( pArray, nLen );
   hb_arraySetC( pArray, nLen, hb_dynsymName( ( PHB_DYNS ) pArea->atomAlias ) );

   return HB_SUCCESS;
}
Beispiel #5
0
PHB_ITEM hb_errPutOperation( PHB_ITEM pError, const char * szOperation )
{
   HB_TRACE( HB_TR_DEBUG, ( "hb_errPutOperation(%p, %s)", pError, szOperation == HB_ERR_FUNCNAME ? "HB_ERR_FUNCNAME" : szOperation ) );

   if( szOperation == HB_ERR_FUNCNAME )
   {
      PHB_SYMB pSym = hb_itemGetSymbol( hb_stackBaseItem() );
      if( pSym )
         szOperation = pSym->szName;
   }

   hb_arraySetC( pError, HB_TERROR_OPERATION, szOperation );

   return pError;
}
Beispiel #6
0
PHB_ITEM wvg_logfontTOarray( LPLOGFONT lf, HB_BOOL bEmpty )
{
   PHB_ITEM aFont = hb_itemNew( NULL );

   hb_arrayNew( aFont, 15 );

   if( bEmpty )
   {
      hb_arraySetC( aFont, 1, NULL   );
      hb_arraySetNL( aFont, 2, 0     );
      hb_arraySetNL( aFont, 3, 0     );
      hb_arraySetNL( aFont, 4, 0     );
      hb_arraySetL(  aFont, 5, 0     );
      hb_arraySetL(  aFont, 6, 0     );
      hb_arraySetL(  aFont, 7, 0     );
      hb_arraySetNI( aFont, 8, 0     );
      hb_arraySetNI( aFont, 9, 0     );
      hb_arraySetNI( aFont, 10, 0    );
      hb_arraySetNI( aFont, 11, 0    );
      hb_arraySetNI( aFont, 12, 0    );
      hb_arraySetNI( aFont, 13, 0    );
      hb_arraySetNI( aFont, 14, 0    );
      hb_arraySetNInt( aFont, 15, 0  );
   }
   else
   {
      HB_ARRAYSETSTR( aFont, 1, lf->lfFaceName       );
      hb_arraySetNL( aFont, 2, lf->lfHeight          );
      hb_arraySetNL( aFont, 3, lf->lfWidth           );
      hb_arraySetNL( aFont, 4, lf->lfWeight          );
      hb_arraySetL(  aFont, 5, lf->lfItalic          );
      hb_arraySetL(  aFont, 6, lf->lfUnderline       );
      hb_arraySetL(  aFont, 7, lf->lfStrikeOut       );
      hb_arraySetNI( aFont, 8, lf->lfCharSet         );
      hb_arraySetNI( aFont, 9, lf->lfEscapement      );
      hb_arraySetNI( aFont, 10, lf->lfOrientation    );
      hb_arraySetNI( aFont, 11, lf->lfOutPrecision   );
      hb_arraySetNI( aFont, 12, lf->lfClipPrecision  );
      hb_arraySetNI( aFont, 13, lf->lfQuality        );
      hb_arraySetNI( aFont, 14, lf->lfPitchAndFamily );
   }

   return aFont;
}
Beispiel #7
0
PHB_ITEM hb_fsDirectory( const char * pszDirSpec, const char * pszAttributes, HB_BOOL fDateTime )
{
   PHB_ITEM  pDir = hb_itemArrayNew( 0 );
   char *    pszFree = NULL;
   PHB_FFIND ffind;
   HB_FATTR  ulMask;

   /* Get the passed attributes and convert them to Harbour Flags */

   ulMask = HB_FA_ARCHIVE | HB_FA_READONLY;

   if( pszAttributes && *pszAttributes )
      ulMask |= hb_fsAttrEncode( pszAttributes );

   if( pszDirSpec && *pszDirSpec )
   {
      if( ulMask != HB_FA_LABEL )
      {
         /* CA-Cl*pper compatible behavior - add all file mask when
          * last character is directory or drive separator
          */
         HB_SIZE nLen = strlen( pszDirSpec ) - 1;
#ifdef HB_OS_HAS_DRIVE_LETTER
         if( pszDirSpec[ nLen ] == HB_OS_PATH_DELIM_CHR ||
             pszDirSpec[ nLen ] == HB_OS_DRIVE_DELIM_CHR )
#else
         if( pszDirSpec[ nLen ] == HB_OS_PATH_DELIM_CHR )
#endif
            pszDirSpec = pszFree =
                           hb_xstrcpy( NULL, pszDirSpec, HB_OS_ALLFILE_MASK, NULL );
      }
   }
   else
      pszDirSpec = HB_OS_ALLFILE_MASK;

   /* Get the file list */

   if( ( ffind = hb_fsFindFirst( pszDirSpec, ulMask ) ) != NULL )
   {
      PHB_ITEM pSubarray = hb_itemNew( NULL );

      do
      {
         char buffer[ 32 ];

         hb_arrayNew    ( pSubarray, F_LEN );
         hb_arraySetC   ( pSubarray, F_NAME, ffind->szName );
         hb_arraySetNInt( pSubarray, F_SIZE, ffind->size );
         hb_arraySetC   ( pSubarray, F_TIME, ffind->szTime );
         hb_arraySetC   ( pSubarray, F_ATTR, hb_fsAttrDecode( ffind->attr, buffer ) );

         if( fDateTime )
            hb_arraySetTDT( pSubarray, F_DATE, ffind->lDate, ffind->lTime );
         else
            hb_arraySetDL ( pSubarray, F_DATE, ffind->lDate );

         /* Don't exit when array limit is reached */
         hb_arrayAddForward( pDir, pSubarray );
      }
      while( hb_fsFindNext( ffind ) );

      hb_itemRelease( pSubarray );

      hb_fsFindClose( ffind );
   }

   if( pszFree )
      hb_xfree( pszFree );

   return pDir;
}