ALIAS: Difference between revisions
Jump to navigation
Jump to search
(Redirected page to DECLARE LIBRARY) Tags: New redirect visualeditor |
(Removed redirect to DECLARE LIBRARY) Tag: Removed redirect |
||
Line 1: | Line 1: | ||
# | The '''ALIAS''' clause in a [[DECLARE LIBRARY]] statement block tells the program the name of the procedure used in the external library. | ||
{{PageSyntax}} | |||
: [[DECLARE LIBRARY]] | |||
:: SUB {{Parameter|pseudoname}} [[ALIAS]] {{Parameter|actualname}} [(''parameters'')] | |||
: [[DECLARE LIBRARY|END DECLARE]] | |||
{{PageParameters}} | |||
* The {{Parameter|pseudoname}} is the name of the [[SUB]] or [[FUNCTION]] the QB64 program will use. | |||
* The {{Parameter|actualname}} is the same procedure name as it is inside of the library code, it may optionally have a prepended namespace specification (e.g. '''ALIAS''' std::malloc). | |||
* QB64 must use all parameters of imported procedures including optional ones. | |||
{{PageDescription}} | |||
* The '''ALIAS''' name clause is optional as the original library procedure name can be used. | |||
* The procedure name does not have to be inside of quotes when using [[DECLARE LIBRARY]]. | |||
* QB64 does not support optional parameters. | |||
{{PageExamples}} | |||
;Example:Instead of creating a SUB with the Library statement inside of it, just rename it. | |||
{{CodeStart}} | |||
{{Cl|DECLARE LIBRARY}} | |||
{{Cl|SUB}} {{Text|MouseMove|#55FF55}} {{Cl|ALIAS}} glutWarpPointer ({{Cl|BYVAL}} xoffset&, {{Cl|BYVAL}} yoffset&) | |||
{{Cl|END DECLARE}} | |||
{{Cl|DO...LOOP|DO UNTIL}} {{Cl|_SCREENEXISTS}}: {{Cl|LOOP}} | |||
{{Cl|PRINT}} {{Text|<nowiki>"Hit a key to move the pointer to top left corner..."</nowiki>|#FFB100}} | |||
{{Cl|SLEEP}} | |||
{{Text|MouseMove|#55FF55}} {{Text|1|#F580B1}}, {{Text|1|#F580B1}} | |||
{{CodeEnd}} | |||
{{PreStart}} | |||
'''Explanation:''' | |||
When a Library procedure is used to represent another procedure name | |||
use '''ALIAS''' instead. Saves you from creating a wrapper [[SUB]]. Just place | |||
your name for the procedure first with the actual Library name after '''ALIAS'''. | |||
{{PreEnd} | |||
{{PageSeeAlso}} | |||
* [[SUB]], [[FUNCTION]] | |||
* [[DECLARE LIBRARY]], [[BYVAL]] | |||
* [[DECLARE DYNAMIC LIBRARY]] | |||
{{PageNavigation}} |
Revision as of 08:56, 25 July 2023
The ALIAS clause in a DECLARE LIBRARY statement block tells the program the name of the procedure used in the external library.
Syntax
- DECLARE LIBRARY
- SUB pseudoname ALIAS actualname [(parameters)]
- END DECLARE
Parameters
- The pseudoname is the name of the SUB or FUNCTION the QB64 program will use.
- The actualname is the same procedure name as it is inside of the library code, it may optionally have a prepended namespace specification (e.g. ALIAS std::malloc).
- QB64 must use all parameters of imported procedures including optional ones.
Description
- The ALIAS name clause is optional as the original library procedure name can be used.
- The procedure name does not have to be inside of quotes when using DECLARE LIBRARY.
- QB64 does not support optional parameters.
Examples
- Example
- Instead of creating a SUB with the Library statement inside of it, just rename it.
DECLARE LIBRARY SUB MouseMove ALIAS glutWarpPointer (BYVAL xoffset&, BYVAL yoffset&) END DECLARE DO UNTIL _SCREENEXISTS: LOOP PRINT "Hit a key to move the pointer to top left corner..." SLEEP MouseMove 1, 1 |
Explanation: When a Library procedure is used to represent another procedure name use ALIAS instead. Saves you from creating a wrapper SUB. Just place your name for the procedure first with the actual Library name after ALIAS. {{PreEnd} |