Πέμπτη 24 Μαρτίου 2016

Επιπρόσθετες Βελτιώσεις (από 196)

(με λίγη καθυστέρηση...από την αναθεώρηση 196
Έγινε μια βελτίωση στην αλλαγή μεγέθους των παραθύρων που μπορούμε να φτιάξουμε. Μπήκε ένα μικρό τετραγωνάκι που μας δίνει τη δυνατότητα να είναι μπροστά από άλλα στοιχεία, άρα να δουλεύει πάντα η αλλαγή μεγέθους (επιλέγουμε στην ιδιότητα "Resize" βάζουμε αληθές ή True).
 Επίσης προστέθηκε (γιατί έλειπε) η δυνατότητα να βλέπουμε ιδιότητες που γυρίζουν ή και δέχονται αριθμητική τιμή.(είχα φτιάξει για αλφαριθμητικά όπως το List$() που φτιάχναμε για την προσπέλαση της λίστας σε Listbox)

Μια ιδιότητα (ή μάλλον σαν συνάρτηση φαίνεται, αλλά έχει δηλωθεί ως ιδιότητα) η οποία παίρνει ένα αλφαριθμητικό και επιστρέφει ένα αριθμό, είναι η Find() για ListBox όπου παίρνει αυτό που ψάχνουμε και επιστρέφει το αριθμό του στοιχείου που βρέθηκε. Σειριακή αναζήτηση κάνει εσωτερικά, και σταματάει στο πρώτο που βρίσκει. Αν θέλουμε άλλου τύπου αναζήτηση τότε κάνουμε ταξινόμηση και ψάχνουμε δυαδικά χρησιμοποιώντας τον πίνακα list$() και την ιδιότητα ListCount. Ο πίνακας ξεκινάει από 0 και τερματίζει στο Listcount-1. Η ρουτίνα για δυαδική αναζήτηση δεν δίνεται.
Τα Find() και List$() ορίζονται σε χωριστές γραμμές (θα το δω αυτό..στην επόμενη αναθεώρηση)

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"
}
ListCount=10020
Declare Listbox1 Listbox Form Simple
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 , "ListIndex" As ListIndex, "ListCount" As ListCount ', "Edit" As Edit
With Listbox1, "Find" As Find()
With Listbox1, "List" As List$()
Method Simple, "Show"
With Simple,"Sizable", True,"SizerWidth",90
Function Simple.Unload {
      Keyboard "!"
}
Function listbox1.Color {
      Read New &rgb
            rgb=#FF7700
}
Function Listbox1.DblClick {
            Read Where
            a1$= List$(Where)
            if Right$(List$(Where),1)="✓" then {
                  List$(Where)=leftPart$(List$(Where)+" "," ")
            } else {
                  List$(Where)=leftPart$(List$(Where)+" "," ")+" ✓"
            }
            Method Listbox1,"Refresh"
            Mytitle$= a1$
}
Function simple.click {
            If ListIndex>=0 Then {
                  local K$=List$(ListIndex), i
                  Method listbox1,"Sort"
                  ListIndex=Find(K$)
            } Else 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





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

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

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