Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SYS(1500) Help
Message
From
08/01/2008 20:12:04
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Environment versions
Visual FoxPro:
VFP 9 SP2
Miscellaneous
Thread ID:
01280185
Message ID:
01280430
Views:
22
Oh Yes, I missed that one too.

Thanks !




>Hi Cesar,
>
>I'm glad it works for you. :)
>
>BTW, you have handle to the PRG window so it can be closed with
>= _Wclose(lnHandle)
>
>
>> W O W !!!!
>>
>>How can you know EVERYTHING about EVERYTHING ???
>>
>>As always, you've brought an elegant and clean solution
>>
>>Thanks a lot !
>>
>>
>>Below is the final code that generates an HTM file from any selected PRG.
>>Thanks very much !
>>
>>
>>
>>
LOCAL lcFile
>>lcFile = GETFILE("prg")
>>
>>* Open the VFP Editor
>>MODIFY COMMAND (lcFile) NOWAIT NOEDIT
>>
>>
>>* Select all and Copy to Clipboard
>>* by Sergey Berezniker
>>LOCAL ARRAY laEnv [25]
>>LOCAL lnHandle, lnResult
>>SET LIBRARY TO FoxTools ADDITIVE
>>* Get the whandle for the current window
>>lnHandle = _WonTop()
>>lnResult = _EdGetEnv( lnHandle, @laEnv )
>>* [ 2 ]  File Size
>>* [ 17 ] SelStart
>>* [ 18 ] SelEnd
>>
>>* Select ALL
>>_EdSelect(lnHandle, 0, laEnv[2]-1)
>>
>>* Copy to clipboard
>>IF NOT _EdCopy(lnHandle)
>>	MESSAGEBOX("Couldn't Copy ")
>>	RETURN .F.
>>ENDIF	
>>
>>
>>* Close the PRG
>>RELEASE WINDOWS (JUSTFNAME(lcFile))
>>
>>
>>LOCAL loIE as "InternetExplorer.Application"
>>loIE = CREATEOBJECT("InternetExplorer.Application")
>>#DEFINE READYSTATE_COMPLETE      4
>>#DEFINE MAX_TIME                30
>>#DEFINE OLECMDID_PASTE          13
>>#DEFINE OLECMDEXECOPT_DODEFAULT  0
>>
>>local lcInnerHTML && HTML of the webpage
>>local lnStarted && Seconds when started loading
>>local lnWaiting && Seconds waiting for the document to load
>>local lcRetVal && Return Value
>>
>>lnStarted = SECONDS()
>>
>>loIE.navigate("about:blank")
>>
>>* Wait till page totally loaded
>>DO WHILE loIE.Readystate <> READYSTATE_COMPLETE or lnWaiting >= MAX_TIME
>>   lnWaiting = SECONDS() - lnStarted
>>ENDDO
>>
>>* Make the page editable
>>loIE.Document.Body.contentEditable = .T.
>>
>>* Paste Clipboard content
>>loIE.ExecWB(OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT)
>>
>>* Retrieve the HTML
>>lcInnerHTML = loIE.Document.Body.InnerHTML
>>
>>* Save to HTM file
>>LOCAL lcDestFile, lcCommand
>>lcDestFile = FORCEEXT(lcFile, "htm")
>>STRTOFILE(lcInnerHTML, lcDestFile)
>>
>>lcCommand = "RUN /N Explorer.Exe " + lcDestFile
>>&lcCommand
>>
>>RETURN
Previous
Reply
Map
View

Click here to load this message in the networking platform