Auto-complete from version 6, is it available for clarion 10?

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

1 Like

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.