FB II Compiler

PG PRO

Debugging

Memory

System

Mathematics

Resources

Disk I/O

Windows

Controls

Menus

Mouse

Keyboard

Text

Fonts

Drawing

Sound

Clipboard

Printing

Communication

ASM

Made with FB

FB II COMPILER

Write multiple edit fields on disk



Actually this isn't quite as simple as saving records. Since the fields can vary in length, you will probably have to store the length info in the file just before you write the field. Then you can use the READ FILE statement to read the info back.
An partial example someone else could probably do a better job of: (assuming handle& is an edit field handle)

size = FN GETHANDLESIZE(handle&)
WRITE#1,size
WRITE FILE#1, [handle&],size

Go on to the next one.
Then to read it back, you have to first read the length info back, otherwise you don't know how much to read back in. Something along these lines should work.

READ#1,size
READ FILE#1,[destHandle&],size

Y And then the next record.
Failing this, you can try using multiple WRITE FIELDs (see the reference book) which may actually do that stuff for you. Then you could use it the same as any other write or print# statement.

WRITE#1,somestuff
WRITE FIELD#1,edithandle&
WRITE#1,somemoreStuff


And so forth for read. I'm not sure if this is really allowed in FB though.

Derek


Try this:

LOCAL FN WriteEditField(efID, fileID)
'Writes the contents of edit field #edID
'to the (open) file whose ID number is fileID
  DIM textH&, OSErr
  textH& = FN TEGETTEXT(TEHANDLE(efID))
  OSErr = FN HLOCK(textH&)
  WRITE FILE #fileID, [textH&], FN GETHANDLESIZE(textH&)
  OSErr = FN HUNLOCK(textH&)
END FN

Rick