Τρίτη 5 Απριλίου 2016

ComboBox με αυτόματη συμπλήρωση.

Απλά διαβάζουμε το πρόγραμμα. Είναι από μόνο του εξηγήσιμο.
Κάθε φορά που γράφουμε και πατάμε enter, κοιτάει το πρόγραμμα αν υπάρχει στη λίστα και αν δεν υπάρχει (φέρνει -1 αλλιώς φέρνει το νούμερο που το βρίσει η Find) τότε το προσθέτει και κάνει πάλι ταξινόμηση, και θέτει πάλι το σωστό Listindex (στη νέα ταξινομημένη θέση). (Η ταξινόμηση είναι για ομορφιά εδώ, η αναζήτηση γίνεται σειριακά, όπως και να έχει το πράγμα).
Η ιδιότητα item$ όταν λαμβάνει. λαμβάνει όλα τα στοιχεία. Ενώ όταν την διαβάζουμε τότε μας δίνει μόνο το επιλεγμένο.στη λίστα. Αν θέλουμε να δούμε ή να αλλάξουμε αυτό που βλέπουμε στο textbox του combobox τότε θα το δούμε με την "text". Μπορούμε να διαβάζουμε τη λίστα με την List$().
H Find() δεν είναι μέθοδος ή συνάρτηση αλλά ιδιότητα.
Αν θέλουμε περιορίζουμε την εισαγωγή μόνο σε ότι έχει η λίστα με το "UseOnlyTheList". True

Declare form1 form
Declare combo1 combobox form form1
Declare text1 textbox form form1
With form1,"Title" as title$
With combo1,"Edit", true,"UseOnlyTheList", false,"autocomplete", true, "listIndex" as ListIndex
With combo1,"label","Combo1", "ListText" as item$, "list" as list$(), "text" as combo1$
item$={alfa
            delta
            gamma
            beta
            }
With combo1,"Find" as Find()
Method combo1,"Sort"
combo1$=list$(find("gam*"))


Method combo1,"Move", 1000,1000,6000,600
Method text1, "Move", 1000,2900,6000,600


With text1, "text" as text1.text$
Method form1, "show"
Function form1.unload {
      Keyboard "!"
      Show
}
Function combo1.dblclick {
        text1.text$=combo1$
        title$=combo1$
        If find(title$)= -1 then {
         method combo1,"additem",title$
         Method combo1,"Sort"
         listindex=find(title$)
         }
}
Function combo1.click {
      If listindex>=0 then text1.text$=list$(listindex)
}
Function combo1.scroll {
      If listindex>=0 then text1.text$=list$(listindex)
}
a$=key$ ' wait a key - and this is a simple loop for window.
Declare Text1 Nothing
Declare combo1 Nothing
Declare form1 Nothing



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.