2023-11-24, 18:39:33
(2023-11-07, 18:26:06)wila Wrote: Hello Ozcan,
Here's some example code in VFP to do what you asked.
This is based on the demo code that is pre-installed.
First some code to automatically open the website in the init procedure of the form.
Code:thisform.oAntviewDocument = CREATEOBJECT('AntViewAx.AntViewDocument') && create the AntViewDocument and assign it to a form property
thisform.oAvdCtrl = NEWOBJECT('avdctrl','avdctrl.prg') && CREATEOBJECT("Ctrl") && We need an object for our events
EVENTHANDLER(this.oAntviewDocument,this.oAvdCtrl)
thisform.oAntView.Init()
thisform.oAntView.UnlockControl("ExampleCompany","WI5PO2-2KSU3Q-HWFXFU-IUMU2V-QF8P2F")
lnStatus = thisform.oAntView.UnlockStatus
thisform.oAntviewDocument.CurrentBrowser = thisform.oAntView.object && this property shows as "Write-only" in the object browser
thisform.text1.Value = [https://eokulyd.meb.gov.tr/]
thisform.oAntView.object.navigate(ALLTRIM(thisform.text1.Value))
To automatically click on the link "button" I've written the following bit in the click method of the LoadString button:
Code:LOCAL lcjScript
lcjScript = ''
TEXT TO lcjScript NOSHOW PRETEXT 7
() => {
let info, row, column, link
info = document.getElementById('information');
row = info.firstElementChild;
column = row.firstElementChild;
link = column.firstElementChild;
if (link) {
link.click();
}
}
ENDTEXT
thisform.oAntViewDocument.RunAnonymousFunction( 1, "", lcjScript)
Normally you should check that each of those get element object methods actually returns an object.
So the error handling is missing I expect that you can write that yourself.
It clicked the left hand "button" during my tests.
For "checking" a checkbox in a form I added the following to the "go" button click method:
Code:LOCAL lcjScript
LOCAL lbIsSuccess
LOCAL leStatus
lcjScript = ''
TEXT TO lcjScript NOSHOW PRETEXT 7
() => {
let obj
obj = document.getElementById('auto');
if (obj) {
obj.setAttribute("checked","");
}
}
ENDTEXT
thisform.oAntView.navigateSync("https://antwise.com/demo/SimpleCheckboxExample.html",lbIsSuccess,leStatus)
thisform.oAntViewDocument.RunAnonymousFunction( 1, "", lcjScript)
This first navigates to the page https://antwise.com/demo/SimpleCheckboxExample.html which has 3 checkboxes with all of them unchecked. Then it checks the "I have a car" checkbox immediately after loading the page.
This last example makes it clear that it would be really great to have a method for setting a element attribute in the document interface without having to resort to javascript in your code.
Which will be looked into.
Hope this helps,
--
Wil
Hi.
Sorry. Why this text '() =>' before brackets?
It's beeing part of the lcjScript variable.
I don't understand that.