General Help regarding HMG, Compilation, Linking, Samples
Moderator: Rathinagiri
-
AUGE_OHR
- Posts: 2108
- Joined: Sun Aug 25, 2019 3:12 pm
- DBs Used: DBF, PostgreSQL, MySQL, SQLite
- Location: Hamburg, Germany
Post
by AUGE_OHR »
hi,
i know i can use MAKEWORD / MAKELONG in HB_FUNC() but how to use is "normal"
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
-
AUGE_OHR
- Posts: 2108
- Joined: Sun Aug 25, 2019 3:12 pm
- DBs Used: DBF, PostgreSQL, MySQL, SQLite
- Location: Hamburg, Germany
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
-
gfilatov
- Posts: 1101
- Joined: Fri Aug 01, 2008 5:42 am
- Location: Ukraine
-
Contact:
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

Kind Regards,
Grigory Filatov
"Everything should be made as simple as possible, but no simpler." Albert Einstein
-
AUGE_OHR
- Posts: 2108
- Joined: Sun Aug 25, 2019 3:12 pm
- DBs Used: DBF, PostgreSQL, MySQL, SQLite
- Location: Hamburg, Germany
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
Good Idea
both have same Syntax so i "just" have to change MAKELONG into MAKEWORD

have fun
Jimmy