Loading...
 
Emforth/Emserver and files.

EMfiles

When EMforth is a client to EMserver file access becomes very easy.


Writing files


The output text from forth interpreter can be redirected to a file in two ways.

If you want to capture text and see it on the display as well you use the word - CAPTURE.
If you want to send it to a file and not see it you use the word STDOUT.
The main reason to use the later is speed when you have a lot of text.

If you say..
CAPTURE FILENAME
do something to output text.
and type CAPTURE again....

The first CAPTURE will create and open a file. The filename is optional for all these words - if omitted you will be ask for one.
The second CAPTURE will close the file. I could use a different word set (separate close) but I haven't.

STDIO works the same way.

To dump memory to a binary file..
STRT LEN >FILE FILENAME.

Ie the start address the length >FILE and an optional name.
This is the same format as DUMP except for the filename.

Writing files from a compiled word is also quite simple but I haven't finished writing all the support words.

Reading files


The main use for reading files is to compile source code.
You just say..
SOURCE FILENAME
You can also do nested includes with.
INCLUDE FILENAME

The difference between SOURCE and INCLUDE is the former also allocates memory to compile into.

Directory layout

Image
I arrange my directories as shown in the image above.
My applications sit in directories at the same level as the includes.

To do an include from the main source uses a line like this...
INCLUDE ..\include\IO.FTH
For each application I have a shortcut to emserver with the working directory set to my working directory.

Include files which aren't shared between applications sit in the working directory.
These can be included like this..
INCLUDE H256.DEF
I also have a simple conditional statement which can be used to only include when there is a "true" flag on the stack - for example...
PCBTYPE H256 = IFDO INCLUDE H256.DEF
This would include the file if PCBTYPE equals H256

eddie



Created by eddie. Last Modification: Monday 11 of February, 2008 11:37:11 AEDT by eddie.

Main Index

Switch Theme

Shoutbox

eddie, 23:20 AEST, Sun 29 of Aug, 2021: moving to new server
System Administrator, 17:23 AEST, Thu 12 of Aug, 2021: Image thumbnails not working for gallery images. Problems with the GD extension.
System Administrator, 19:44 AEST, Mon 09 of Aug, 2021: uploaded wiki and database to main server. It didn't work but the old wiki and repaired database seem to mostly work.
System Administrator, 12:32 AEST, Mon 09 of Aug, 2021: Upgraded offline site copy to tiki22. Some errors but mostly good.
eddie, 19:04 AEST, Sat 07 of Aug, 2021: testing on local RPI4 Database looks good. The online version is still broken. The server OS needs upgrading???

Last-Visited Pages

Online Users

9 online users