Back in Clarion v6, there was an extension that would auto-complete in a field as you typed. Is there still such a thing and I have just missed it?
There are a few 3rd party template for this. One of them is ours: EasyAutoEntry
you can download demo at here
Hi, I downloaded as suggested. I ran the demo, but I was not able to figure out what it is showing me. Sorry, it confused me. i could not find an example of the auto-complete of a field.
Just open any procedure from Menu, select record, push Change button. Delete all from entry field and start typing
I downloaded the demo, but for some reason Windows Smartscreen keeps blocking it. No other program has ever triggered this, and despite my best efforts I can’t seem to disable it, even though it was already disabled by my Norton Antivirus.
Any chance you can recompile the demo in a more user friendly format - don’t really know what that means, but as I said, I’ve never had this problem before??
OK, finally managed to get it working.
Where are the lookup values coming from?
Does it work well with SQL databases?
Does it work with custom filters? e.g. does it only search from the beginning of the string, or can it search within the string?
TIA
OK, just noticed it is a lib and dll, so I won’t be able to use it.
I wrote a template some years ago to do just that. I will dig it out and see if it will still work.
Bertus
a third party Template set from PDTools,
I think Capesoft have take over this stuff…
Russ Eggen wrote: “How to Code Auto-Complete”
Here you can find it: https://reggen.wordpress.com/2015/01/22/how-to-code-auto-complete/
As pbouma pointed to Russ Eggen’s solution and suggested to changed the local field to a VEN:Vendorname lookup field i made a new solution.
It catches some keys, starts the lookup procedure if no match is found and it can filter if the lookup procedure has a filter or range limit on the primairy key.
!ReturnValue = PARENT.TakeNewSelection()
!CASE FIELD()
! OF ?Ven:VendorName
IF ~KEYCHAR() OR BAND(KEYSTATE(),0400h+0200h) OR INLIST(KEYCODE(),LeftKey,RightKey,ShiftLeft,ShiftRight)
!no autocomplete if no asci character (ie space) or ctrl alt or arrow keys are used
ELSE
update(?)
offset=?Ven:VendorName{PROP:SelStart}-1! Figure out where the cursor is in the field
IF offset
if KEYCODE() = BSKey and offset > 1
Ven:VendorName = SUB(Ven:VendorName,1,LEN(Ven:VendorName)-1)
display(?Ven:VendorName)
else
Ven:VendorName=sub(Ven:VendorName,1,offset)
end
set(Ven:VendorNameKey,Ven:VendorNameKey)
if Access:Vendor.Next()
post(EVENT:Accepted,?vendorlookupbutton)
else
IF Ven:VendorID>30 !also used in lookup procedure vendors BRWx.SetFilter('(Ven:VendorID>30)')
display(?Ven:VendorName)
?Ven:VendorName{PROP:SelStart}=offset+1
?Ven:VendorName{PROP:SelEnd} = LEN(?Ven:VendorName{PROP:ScreenText})
ELSE
post(EVENT:Accepted,?vendorlookupbutton)
END
end
END
END
PS There is a free global extension template with a nifty autocompletion class at http://www.authord.com/products/Clarion/ . With the name LookupEntryCompletionOnAllFieldsWithlookupGlobal.
With code before and after inserting the code so you can ie exclude
query screen. Found a small bug #ENDAT in vsa_ECCX.tpw should be the last sentence in %HasEntryWithLookup()
Hi Dirk,
Will the ABC Free templates work in Clarion 10?
The last revision date is 2014 and says Clarion 8.
I don’t want to ‘break’ Clarion by installing these.
Hi Viola,
No problem. Idem with Clarion 11. The installer will find these.