MAKEWORD / MAKELONG as Function

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
User avatar
AUGE_OHR
Posts: 2108
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

MAKEWORD / MAKELONG as Function

Post by AUGE_OHR »

hi,

i know i can use MAKEWORD / MAKELONG in HB_FUNC() but how to use is "normal" :idea:

Code: Select all

// Shortcut Hotkey
IF !EMPTY(aHotKey) .AND. VALTYPE(aHotKey) = "A"
   IF LEN(aHotKey) = 2
      nLoByte := aHotKey[1]
      nHiByte := aHotKey[2]
      oShellLink:Hotkey := MakeWord( nLoByte , nHiByte )
   ENDIF
ENDIF
i found some #define MakeWord() but it does not help :(

Code: Select all

#define MAKEWORD(a,b)   ((WORD)(((BYTE)(a)) | (((WORD)((BYTE)(b)))<<8)))
#define MAKEWORD(a,b) ((WORD) (((BYTE) (((DWORD_PTR) (a)) & 0xff)) | ((WORD) ((BYTE) (((DWORD_PTR) (b)) & 0xff))) << 8))
have fun
Jimmy
User avatar
AUGE_OHR
Posts: 2108
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: MAKEWORD / MAKELONG as Function

Post by AUGE_OHR »

this i have under Xbase++

Code: Select all

XPPRET XPPENTRY wapimc_MAKEWORD(XppParamList pl)
{
   LONG lo = _parLong(pl,1) & 0xFF;
   LONG hi = _parLong(pl,2) & 0xFF;
	_retnl(pl, MAKEWORD(lo, hi));//  (lo | (hi << 8)) );
}
//----------------------------------------------------------------------------------------------------------------------
XPPRET XPPENTRY wapimc_MAKELONG(XppParamList pl)
{
   LONG lo = _parLong(pl,1) & 0xFFFF;
   LONG hi = _parLong(pl,2) & 0xFFFF;
   _retnl( pl , (LONG) MAKELONG( lo , hi));
}
have fun
Jimmy
User avatar
gfilatov
Posts: 1101
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: MAKEWORD / MAKELONG as Function

Post by gfilatov »

AUGE_OHR wrote: Tue Feb 18, 2020 12:16 am this i have under Xbase++

Code: Select all

XPPRET XPPENTRY wapimc_MAKEWORD(XppParamList pl)
{
   LONG lo = _parLong(pl,1) & 0xFF;
   LONG hi = _parLong(pl,2) & 0xFF;
	_retnl(pl, MAKEWORD(lo, hi));//  (lo | (hi << 8)) );
}
//----------------------------------------------------------------------------------------------------------------------
XPPRET XPPENTRY wapimc_MAKELONG(XppParamList pl)
{
   LONG lo = _parLong(pl,1) & 0xFFFF;
   LONG hi = _parLong(pl,2) & 0xFFFF;
   _retnl( pl , (LONG) MAKELONG( lo , hi));
}
Hi,

We have the following function in the MiniguiEx core:

Code: Select all

HB_FUNC( MAKELONG )
{
   hb_retnl( MAKELONG( hb_parni( 1 ), hb_parni( 2 ) ) );
}
HTH :idea:
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
AUGE_OHR
Posts: 2108
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: MAKEWORD / MAKELONG as Function

Post by AUGE_OHR »

hi,
gfilatov wrote: Tue Feb 18, 2020 8:02 am We have the following function in the MiniguiEx core:

Code: Select all

HB_FUNC( MAKELONG )
{
   hb_retnl( MAKELONG( hb_parni( 1 ), hb_parni( 2 ) ) );
}
HTH :idea:
Good Idea :idea:
both have same Syntax so i "just" have to change MAKELONG into MAKEWORD :D
have fun
Jimmy
Post Reply