Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
StrToFile Equivalent in FPD26?
Message
From
10/02/2003 12:31:54
 
General information
Forum:
Visual FoxPro
Category:
FoxPro 2.x
Miscellaneous
Thread ID:
00751416
Message ID:
00751495
Views:
104
You are right, it works with FPUTS, etc.
Thanks Nadya,
Tracy

Corrected Version (still not checking for correct version of VFP6 though!):
*!************************************************************************
* codefile.code
*!************************************************************************
* Example only
* Creates a table that stores a code name and code code
* Allows program code to be compiled and run on the fly by seeking
* the program name to run (stored in cprogram character field) and running
* the associated code (stored in mcode memo field)
*
SET TALK OFF
CLEAR
IF FILE('codefile.dbf')
	DELETE FILE ('codefile.dbf')
ENDIF
IF FILE('codefile.cdx')
	DELETE FILE ('codefile.cdx')
ENDIF
IF FILE('codefile.fpt')
	DELETE FILE ('codefile.fpt')
ENDIF
lcFileName = SYS(2015)
lcDelete=lcFileName + ".fxp"
lcFileName=lcFileName+".prg"
#IF 'VISUAL' $ UPPER(VERSION())
	SET SAFETY OFF
	SELE 0
	CREATE TABLE codefile FREE (cprogram c(15), mcode m)
	INDEX ON cprogram TAG cprogram
	SET ORDER TO TAG cprogram
	APPEND BLANK
	REPLACE cprogram WITH 'msgbox'
	REPLACE mcode WITH ;
		"PARAMETERS cmsg,nbuttons,ctitle"+CHR(13);
		+"IF TYPE('cmsg')='L'"+CHR(13);
		+"	cmsg='This is a test message.'"+CHR(13);
		+"ENDIF"+CHR(13);
		+"IF TYPE('nbuttons')='L'"+CHR(13);
		+"	nbuttons=16"+CHR(13);
		+"ENDIF"+CHR(13);
		+"IF TYPE('ctitle')='L'"+CHR(13);
		+"	ctitle='IMPORTANT MESSAGE'"+CHR(13);
		+"ENDIF"+CHR(13);
		+"MESSAGEBOX(cmsg,nbuttons,ctitle)"+CHR(13)
	IF SEEK('msgbox','codefile','cprogram')
		*VFP7/VFP8 code:
		EXECSCRIPT(codefile.mcode,'VFP7',64,'codeFile example.')
		*VFP6 and below code:
		STRTOFILE(mcode, lcFileName )
		COMPILE (lcFileName)
		DO (lcFileName) WITH 'VFP6SP3',64,'codeFile example.'
	ELSE
		WAIT WINDOW "Could Not Find Program to Run." AT 22,35
	ENDIF
#ELSE
	SET SAFETY OFF
	SELE 0
	CREATE TABLE codefile (cprogram c(15), mcode m)
	INDEX ON cprogram TAG cprogram
	SET ORDER TO TAG cprogram
	APPEND BLANK
	REPLACE cprogram WITH 'waitbox'
	REPLACE mcode WITH ;
		"PARAMETERS cmsg,ntimeout"+CHR(13);
		+"IF TYPE('cmsg')='L'"+CHR(13);
		+"	cmsg='This is a test message.'"+CHR(13);
		+"ENDIF"+CHR(13);
		+"IF TYPE('ntimeout')='L'"+CHR(13);
		+"	ntimeout=5"+CHR(13);
		+"ENDIF"+CHR(13);
		+"mycode=' WAIT WINDOW '"+";"+CHR(13);
		+"+CHR(39)+cmsg+CHR(39)"+";"+CHR(13);
		+"+' TIMEOUT '";
		+"+ALLTRIM(STR(ntimeout))";
		+CHR(13);
		+"&mycode"
	IF SEEK('waitbox','codefile','cprogram')
		*
		IF !FILE(lcFileName)
			xfileh = FCREATE(lcFileName)
		ELSE
			xfileh = FOPEN(lcFileName,2)
		ENDIF
		IF xfileh=0
			WAIT WINDOW "Cannot create the program." NOWAIT
		ELSE
			=FCHSIZE(xfileh,0)
			xiniline=codefile.mcode
			=FPUTS(xfileh,xiniline)
			=FCLOSE(xfileh)
		ENDIF
		IF FILE(lcFileName)
			DO (lcFileName) WITH 'FPD26.',10
		ENDIF
	ELSE
		WAIT WINDOW "Could Not Find Program to Run." AT 22,35
	ENDIF
#ENDIF
IF USED('codefile')
	USE IN codefile
ENDIF
IF FILE(lcFileName)
	DELETE FILE (lcFileName)
ENDIF
IF FILE(lcDelete)
	DELETE FILE (lcDelete)
ENDIF
RETURN
.·*´¨)
.·`TCH
(..·*

010000110101001101101000011000010111001001110000010011110111001001000010011101010111001101110100
"When the debate is lost, slander becomes the tool of the loser." - Socrates
Vita contingit, Vive cum eo. (Life Happens, Live With it.)
"Life is not measured by the number of breaths we take, but by the moments that take our breath away." -- author unknown
"De omnibus dubitandum"
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform