EMBEDDED$: Difference between revisions
Jump to navigation
Jump to search
Example by RhoSigma
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
Line 37: | Line 37: | ||
File:Osx.png|'''yes''' | File:Osx.png|'''yes''' | ||
</gallery> | </gallery> | ||
<!-- Additional availability notes go below | <!-- Additional availability notes go below here --> | ||
Line 48: | Line 48: | ||
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|640|#F580B1}}, {{Text|480|#F580B1}}, {{Text|32|#F580B1}}) | {{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|640|#F580B1}}, {{Text|480|#F580B1}}, {{Text|32|#F580B1}}) | ||
bi& = {{Cl|_LOADIMAGE}}({{Cl|_EMBEDDED$}}({{Text|<nowiki>"bigImg"</nowiki>|#FFB100}}), {{Text|32|#F580B1}}, {{Text|<nowiki>"memory"</nowiki>|#FFB100}}) | bi& = {{Cl|_LOADIMAGE}}({{Cl|_EMBEDDED$}}({{Text|<nowiki>"bigImg"</nowiki>|#FFB100}}), {{Text|32|#F580B1}}, {{Text|<nowiki>"memory"</nowiki>|#FFB100}}) | ||
si& = {{Cl|_LOADIMAGE}}({{Cl|_EMBEDDED$}}({{Text|<nowiki>"smallImg"</nowiki>|#FFB100}}), {{Text|32|#F580B1}}, {{Text|<nowiki>"memory"</nowiki>|#FFB100}}) | si& = {{Cl|_LOADIMAGE}}({{Cl|_EMBEDDED$}}({{Text|<nowiki>"smallImg"</nowiki>|#FFB100}}), {{Text|32|#F580B1}}, {{Text|<nowiki>"memory"</nowiki>|#FFB100}}) | ||
{{Cl|_PUTIMAGE}} ({{Text|140|#F580B1}}, {{Text|180|#F580B1}}), bi& | {{Cl|_PUTIMAGE}} ({{Text|140|#F580B1}}, {{Text|180|#F580B1}}), bi& | ||
{{Cl|_PUTIMAGE}} ({{Text|410|#F580B1}}, {{Text|230|#F580B1}}), si& | {{Cl|_PUTIMAGE}} ({{Text|410|#F580B1}}, {{Text|230|#F580B1}}), si& | ||
{{Cl|_FREEIMAGE}} si& | {{Cl|_FREEIMAGE}} si& | ||
{{Cl|_FREEIMAGE}} bi& | {{Cl|_FREEIMAGE}} bi& | ||
{{Cl|END}} | {{Cl|END}} |
Latest revision as of 12:09, 8 December 2024
The _EMBEDDED$ function is used to recall the data of a file which was earlier embedded into the EXE file using the $EMBED metacommand. You can roughly compare this to a RESTORE to any DATA block and then using READ to retrieve the data.
Syntax
- filedata$ = _EMBEDDED$("handle")
Parameters
- IMPORTANT
-
- The parameter handle must be given as a single literal string enclosed in quotes, variables cannot be used here.
- Your inputs are checked while typing to ensure its validity, warnings (if any) will be displayed immediately in the IDE status area.
- The filedata$ will receive the embedded file data as a single contiguous string, just as you would regularly OPEN the file and read its entire contents into that string.
- The handle is a unique case sensitive identifier beginning with a letter and only containing lower/upper case letters and/or numbers. It must exactly match the handle value used to $EMBED the respective file.
Description
- All embedded files can be recalled individually by using its respective handle identifier.
- If required, decompression is done internally, hence you always get back the original file contents.
- Recalling a file multiple times is possible, but in regard for the needed decompression time considered inefficient. Rather recall the file once and store the result in a STRING variable, if you know you need it multiple times in your program.
- To easily embed a file into your compiled EXE file use the $EMBED metacommand.
- Embedding files can be useful to deliver a program inclusive all required assets in just one EXE file.
- No more worries whether a user installs your program correctly and retains the required folder structure.
- If required, you can easily write the files back to disk using the _WRITEFILE command, i.e. you could create your own simple installer or package manager.
- Embedded images, sounds or fonts can be passed directly to _LOADIMAGE, _SNDOPEN or _LOADFONT respectively when using the memory load capabilities of these functions.
Availability
Examples
- Example
- Embeds two image files into the compiled EXE, then memory loads and displays it.
$EMBED:'source\peLogo.png','bigImg' $EMBED:'source\qb64pe.png','smallImg' SCREEN _NEWIMAGE(640, 480, 32) bi& = _LOADIMAGE(_EMBEDDED$("bigImg"), 32, "memory") si& = _LOADIMAGE(_EMBEDDED$("smallImg"), 32, "memory") _PUTIMAGE (140, 180), bi& _PUTIMAGE (410, 230), si& _FREEIMAGE si& _FREEIMAGE bi& END |
See also
- Featured in our "Keyword of the Day" series
- $EMBED
- DATA, RESTORE, READ
- _LOADFONT, _LOADIMAGE, _SNDOPEN