Edit a Memo Field or Text File
File: ...\Samples\Solution\Controls\TXT_EDT\Editbox.scx
This sample enables you to view and edit text from a memo field or a text file in an edit box.
Displaying text from a memo field is as easy as setting the ControlSource of the edit box to the memo field.
There are two ways you can edit a text file in an edit box: using low-level file functions and creating a cursor to hold the text. This sample creates a cursor instead of using low-level file functions.
Editing a Text file with Low-Level File Functions.
You can open a file using FOPEN( ), read the contents of the file using FREAD( ), and store the contents to a memory variable or to the Value property of the edit box. You can then write changes to the file using FWRITE( ) and close the file using FCLOSE( ).
Editing a Text File by Loading it into a Cursor Field
The advantage to creating a cursor for a text file, other than the fact that the code is a little simpler, is that Visual FoxPro manages writing large amounts of text in a cursor to temporary files if there isn't enough memory.
IF SELECT("textfile") = 0
CREATE CURSOR textfile (filename c(60),mem m)
APPEND BLANK
ENDIF
REPLACE textfile.FileName WITH GETFILE("TXT")
IF EMPTY(textfile.FileName)
RETURN
ENDIF
SELECT textfile
APPEND MEMO mem FROM (textfile.FileName) OVERWRITE
THIS.Parent.edtText.ControlSource = "textfile.mem"
THIS.Parent.cmdSave.Enabled = .T.
THIS.Parent.lblFileName.Caption = ALLTRIM(textfile.FileName)
THIS.Parent.Refresh