Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Accessing POSTDATA Safearray in VFP
Message
From
28/09/2005 12:59:17
Gary Foster
Pointsource Consulting LLC
Chanhassen, Minnesota, United States
 
 
To
28/09/2005 11:07:18
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
01053597
Message ID:
01054053
Views:
15
How do you "read the PostData parameter"? Do you have a VFP object that is getting passed the PostData? What object has the beforenavigate2 event? If you have a VFP object whose BeforeNavigate2 method is being called with the safearray PostData, it's a trivial exercise to turn that into a string.

The VB code is just walking an array of bytes and building a string.
*-- Assuming PostData is an array of bytes
cStr = ''
FOR nInc = 1 to ALEN(PostData)
cStr = cStr + CHR(PostData[nInc])
ENDFOR
MESSAGEBOX(cStr)

Since it sounds like you have a web brower control, I'd try creating a class with a method that can be bound to the web browser's ctrlWB_BeforeNavigate2 event with EventBinding to catch the PostData parameter.

Gary


following
>>When you say you need to look the data in a parameter, are you trying to read a property named postdata on an object or pass data to a method of an object that has a parameter called postdata?
>>
>Thanks for the reply!
>
>The first step I'm trying to do is read the Postdata parameter that is passed to the beforenavigate2 event. I'm not passing the data programmatically. It should be populated when a user fills out a POST form and submits it in the webbrowser control. I have managed to locate code in VB that would do what I want but I can't come up with VFP equivelent code.
>
>
>Private Sub ctrlWB_BeforeNavigate2(ByVal pDisp As Object, URL As
>Variant, Flags As Variant, TargetFrameName As Variant, PostData As
>Variant, Headers As Variant, Cancel As Boolean)
>
>
>    If pDisp Is ctrlWB.object Then
>
>
>        Dim lCount As Long
>        Dim lLen As Long
>        Dim strPostData As String
>
>
>        lLen = LenB(PostData) ' Use LenB to get the byte count
>
>
>        If lLen > 0 Then    ' If it's a post form, lLen will be > 0
>            For lCount = 1 To lLen
>
>
>                strPostData = strPostData & Chr(AscB(MidB(PostData,
>lCount, 1))) ' Use MidB to get 1 byte at a time
>            Next
>        MsgBox strPostData && THIS IS THE DATA I WILL NEED TO STORE
>        End If
>
>
>    End If
>
>
>End Sub
>
>
>
>The 2nd step will be to retrieve this postdata (most likely stored in a vfp field) and send it to a method to automate future form submissions.
>
>Basically we have a team of engineers that spend a large amount of time each day logging onto dozens of manufacture web sites, submitting search forms, copying text descriptions, links, and saving pictures using save as. Then they end up doing a whole lot more work after this to create design documents that end up being Excel documents with no structure. I want to record their actions to get them to the correct pages automatically then allow them to click on images and select text and use my VFP app to create structured design documents. It's an attempt to streamline workflow and give structure to the process.
>
>Thanks very much for your help!
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform