Σε αυτήν την αναθεώρηση αυξήθηκε η ταχύτητα του διερμηνευτή, ένα 5%, μετά από βελτιστοποιήσεις.
Επίσης έγιναν μερικές βελτιώσεις στο EditBox ώστε να δουλεύει το Drag and Drop με πιο αργό οριζόντια κύλιση (όταν το κείμενο είναι σε διαμόρφωση χωρίς αναδίπλωση λέξης). Επίσης τώρα μπήκε από την αρχή να παραμένει ανοικτό (με άσπρο φόντο) το πλαίσιο κειμένου. Επίσης ο δρομέας χάνεται όταν αλλάζουμε πλαίσιο κειμένου και εμφανίζεται όταν γυρνάμε σε αυτό (πριν απλά παρέμενε σταθερός, ενώ αναβοσβήνει όταν θέλουμε να γράψουμε).
Επίσης όταν πάμε να κάνουμε drop σε κάποιο πλαίσιο κειμένου εμφανίζεται ο δρομέας και μπορεί να κυλίσει όπου θέλουμε το πλαίσιο κειμένου, αλλά αν αποσύρουμε το ποντίκι και επιλέξουμε άλλο πλαίσιο, χάνεται πάλι ο δρομέας (όπως θα έπρεπε, αλλά πριν δεν γίνονταν, διόρθωσα σε πιο χαμηλό επίπεδο, στο User Control).
Ένα παράδειγμα με μια λίστα όπου τσεκάρουμε διάφορες πόλεις, Η λίστα είναι διάφανη! Αντί να βγαίνει μια μαύρη μπάρα, τώρα έχουμε ένα χρώμα που ξεχωρίζει την επιλογή μας. Το φόντο είναι διάφανο. Αν κάνουμε κλικ στην επιφάνεια του παράθυρου τότε γίνεται ταξινόμηση. Αν θέλουμε αφήνουμε την ιδιότητα Edit να γίνει True, και τότε μπορούμε να γράψουμε στη λίστα! Το Listbox μπορεί να χρησιμοποιηθεί σαν ένα TextBox, με την διαφορά ότι έχει πολλές γραμμές, οι οποίες δεν αλλάζουν, δηλαδή δεν μπορούμε να προσθέσουμε γραμμή ή να διαγράψουμε καθώς πληκτρολογούμε. Αυτό γίνεται στο EditBox, που είναι ένας κειμενογράφος. Έτσι αν θέλουμε 5 γραμμές να συμπληρωθούν, με δεδομένα, που δεν θέλουμε ειδική μεταχείριση στο καθένα, τα περνάμε σε ένα ListBox με Edit ιδιότητα ως True (αληθής). Εισαγωγή λοιπόν κάνουμε με το Listbox, σταθερές γραμμές, EditBox, TextBox (μια γραμμή, έχει και Spinner διαμόρφωση, ώστε να αλλάζουμε αριθμητική τιμή με το ροδελάκι του ποντικιού)
Εδώ με ταξινόμηση:
Declare Simple Form
With Simple, "Title" as myTitle$
Layer Simple {
Linespace 60
Font "Arial Black"
Window 16, 8000,6000
Cls 1,0
Cursor 0, height div 2
Report 2,"Hello World"
}
Declare Listbox1 Listbox Form Simple
With Listbox1, "List" as MyList$()
Method Listbox1, "move", 1000,1000,6000,4000
With ListBox1,"Text",{London
Paris
Athens
Rome
Tirana
Nicosia
Brussels
Copenhagen
Berlin
Dublin
Luxembourg
}
With Listbox1, "transparent", true ', "Edit", true
Method Simple, "Show"
With Simple,"Sizable", True
Function Simple.Unload {
Keyboard "!"
}
Function listbox1.Color {
Read New &rgb
rgb=#FF7700
}
Function Listbox1.DblClick {
Read ListIndex
a1$= Mylist$(ListIndex)
if Right$(Mylist$(ListIndex),1)="✓" then {
Mylist$(ListIndex)=leftPart$(Mylist$(ListIndex)+" "," ")
} else {
Mylist$(ListIndex)=leftPart$(Mylist$(ListIndex)+" "," ")+" ✓"
}
Method Listbox1,"Refresh"
Mytitle$= a1$
}
Function simple.click {
Method listbox1,"Sort"
}
Function Simple.Resize {
Layer Simple {
Mode 16
Cls 1,0
Cursor 0, height div 2
Report 2,"Hello World"
Method Listbox1,"Refresh"
}
}
a$=Key$ \\ no loop just wait a key, in console only
Declare Simple Nothing
Αν θέλουμε με την ταξινόμηση να επιλέξουμε το ίδιο και όχι να μείνει η επιλογή στον ίδιο αριθμό με άλλο όνομα, κάνουμε αυτό (εδώ χρησιμοποιούμε σειριακή αναζήτηση).
Function simple.click {
With ListBox1, "ListIndex" As MyListIndex, "ListCount" As MyListCount
If MyListIndex>=0 Then {
local K$=Mylist$(MyListIndex), i
Method listbox1,"Sort"
For i=0 to MyListCount {
If Mylist$(i)=K$ Then MyListindex=i : Exit
}
} Else Method listbox1,"Sort"
}
Επίσης έγιναν μερικές βελτιώσεις στο EditBox ώστε να δουλεύει το Drag and Drop με πιο αργό οριζόντια κύλιση (όταν το κείμενο είναι σε διαμόρφωση χωρίς αναδίπλωση λέξης). Επίσης τώρα μπήκε από την αρχή να παραμένει ανοικτό (με άσπρο φόντο) το πλαίσιο κειμένου. Επίσης ο δρομέας χάνεται όταν αλλάζουμε πλαίσιο κειμένου και εμφανίζεται όταν γυρνάμε σε αυτό (πριν απλά παρέμενε σταθερός, ενώ αναβοσβήνει όταν θέλουμε να γράψουμε).
Επίσης όταν πάμε να κάνουμε drop σε κάποιο πλαίσιο κειμένου εμφανίζεται ο δρομέας και μπορεί να κυλίσει όπου θέλουμε το πλαίσιο κειμένου, αλλά αν αποσύρουμε το ποντίκι και επιλέξουμε άλλο πλαίσιο, χάνεται πάλι ο δρομέας (όπως θα έπρεπε, αλλά πριν δεν γίνονταν, διόρθωσα σε πιο χαμηλό επίπεδο, στο User Control).
Ένα παράδειγμα με μια λίστα όπου τσεκάρουμε διάφορες πόλεις, Η λίστα είναι διάφανη! Αντί να βγαίνει μια μαύρη μπάρα, τώρα έχουμε ένα χρώμα που ξεχωρίζει την επιλογή μας. Το φόντο είναι διάφανο. Αν κάνουμε κλικ στην επιφάνεια του παράθυρου τότε γίνεται ταξινόμηση. Αν θέλουμε αφήνουμε την ιδιότητα Edit να γίνει True, και τότε μπορούμε να γράψουμε στη λίστα! Το Listbox μπορεί να χρησιμοποιηθεί σαν ένα TextBox, με την διαφορά ότι έχει πολλές γραμμές, οι οποίες δεν αλλάζουν, δηλαδή δεν μπορούμε να προσθέσουμε γραμμή ή να διαγράψουμε καθώς πληκτρολογούμε. Αυτό γίνεται στο EditBox, που είναι ένας κειμενογράφος. Έτσι αν θέλουμε 5 γραμμές να συμπληρωθούν, με δεδομένα, που δεν θέλουμε ειδική μεταχείριση στο καθένα, τα περνάμε σε ένα ListBox με Edit ιδιότητα ως True (αληθής). Εισαγωγή λοιπόν κάνουμε με το Listbox, σταθερές γραμμές, EditBox, TextBox (μια γραμμή, έχει και Spinner διαμόρφωση, ώστε να αλλάζουμε αριθμητική τιμή με το ροδελάκι του ποντικιού)
Εδώ με ταξινόμηση:
Declare Simple Form
With Simple, "Title" as myTitle$
Layer Simple {
Linespace 60
Font "Arial Black"
Window 16, 8000,6000
Cls 1,0
Cursor 0, height div 2
Report 2,"Hello World"
}
Declare Listbox1 Listbox Form Simple
With Listbox1, "List" as MyList$()
Method Listbox1, "move", 1000,1000,6000,4000
With ListBox1,"Text",{London
Paris
Athens
Rome
Tirana
Nicosia
Brussels
Copenhagen
Berlin
Dublin
Luxembourg
}
With Listbox1, "transparent", true ', "Edit", true
Method Simple, "Show"
With Simple,"Sizable", True
Function Simple.Unload {
Keyboard "!"
}
Function listbox1.Color {
Read New &rgb
rgb=#FF7700
}
Function Listbox1.DblClick {
Read ListIndex
a1$= Mylist$(ListIndex)
if Right$(Mylist$(ListIndex),1)="✓" then {
Mylist$(ListIndex)=leftPart$(Mylist$(ListIndex)+" "," ")
} else {
Mylist$(ListIndex)=leftPart$(Mylist$(ListIndex)+" "," ")+" ✓"
}
Method Listbox1,"Refresh"
Mytitle$= a1$
}
Function simple.click {
Method listbox1,"Sort"
}
Function Simple.Resize {
Layer Simple {
Mode 16
Cls 1,0
Cursor 0, height div 2
Report 2,"Hello World"
Method Listbox1,"Refresh"
}
}
a$=Key$ \\ no loop just wait a key, in console only
Declare Simple Nothing
Αν θέλουμε με την ταξινόμηση να επιλέξουμε το ίδιο και όχι να μείνει η επιλογή στον ίδιο αριθμό με άλλο όνομα, κάνουμε αυτό (εδώ χρησιμοποιούμε σειριακή αναζήτηση).
Function simple.click {
With ListBox1, "ListIndex" As MyListIndex, "ListCount" As MyListCount
If MyListIndex>=0 Then {
local K$=Mylist$(MyListIndex), i
Method listbox1,"Sort"
For i=0 to MyListCount {
If Mylist$(i)=K$ Then MyListindex=i : Exit
}
} Else Method listbox1,"Sort"
}
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.