>>>Hi,
>>>
>>>I'd like to automate the process of loading the contents of a PRG to the clipboard.
>>>For this task, I'm trying to use SYS(1500) to simulate some menu actions, like "Select All" and "Copy" - CtrlA and CtrlC
>>>
>>>Below is the code I'm using:
>>>
>>>
>>>
LOCAL lcFile
>>>lcFile = GETFILE("prg")
>>>
>>>MODIFY COMMAND (lcFile) NOWAIT
>>>
>>>* Select all
>>>SYS(1500, '_MED_SLCTA ', '_MEDIT')
>>>
>>>* Copy
>>>SYS(1500, '_MED_COPY ', '_MEDIT')
>>>
>>>
>>>The problem is that sometimes it seems to work fine, and sometimes, nothing happens. I've already tried lots of things, like ensuring that the menu is visible, prior checking if the menu is available using SYS(2013), DOEVENTS, waiting for a second before each action...
>>>
>>>Can someone provide a hint on this ?
>>>
>>>
>>>I really need the content of the PRG to the clipboard, in order use the new feature from VFP9 that sends the copied part of the PRG to the clipboard in the HTML mode.
>>>
>>>
>>>Thanks in advance
>>>
>>>Cesar
>>
>>Cesar,
>>Do you need Ctrl+A,C ... to do that? Isn't
>>
>>_cliptext = FileToStr(m.lcFile)
>>
>>sufficient?
>>Cetin
>
>
>Hi Cetin,
>
>Thanks for your answer.
>But if I send the contents using _Cliptext variable, I will loose all the HTML formatting. Unfortunately, this doesn't work.
>
>You can test this in this simple way:
>
>Open any PRG, then "Select ALL" (CTRL+A), "Copy", CTRL+C
>
>Then, run this simple script:
>
>
>
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
>local lnStarted
>local lnWaiting
>local lcRetVal
>
>lnStarted = SECONDS()
>
>lcUrl = "about:blank"
>
>loIE.navigate(lcUrl)
>loIE.Visible = .T.
>
>* * 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.
>
>And select the IE window, and click "CTRL+V" to Paste the contents, and you'll see all the formatting preserved.
Cesar,
O noticed what you meant just after I sent:) Thanks for the heads up! I was wondering where I was going wrong and the code I copied to clipboard gets screwed when pasting to forums (well only MSDN forum:). From now on I'll use an earlier version to copy&paste if I can't find a way to turn that off.
For your case I had some clipboard data formatter (RegiserClipboradFormat based) somewhere. If I can find it and works will post.
PS: Mine was using Data object. Is this for a drag&drop copy?
Cetin