Συνεχίζω, πιο αργά, να αναβαθμίζω τη γλώσσα και το περιβάλλον της. Θα ανεβάζω μια νέα αναθεώρηση κάθε μήνα περίπου. Σε αυτήν έκανα τις τελικές διορθώσεις στους επεξεργαστές κειμένου, το εσωτερικό στη κονσόλα και το στοιχείο ελέγχου EditBox (ή Κείμενο). Όταν έχουμε βάλει τον δρομέα ας πούμε στον 30ο χαρακτήρα και πάμε με το βελάκι πάνω, τότε ή θα υπάρχει 30ος χαρακτήρας και θα μένει εκεί ή θα πάει στον τελευταίο της γραμμής (<30) αλλά το 30 θα το θυμάται εκτός αν μεταφέρουμε οριζόντια το δρομέα. Έτσι αν έχουμε το δρομέα σε μια μεγάλη γραμμή και μετά τον κατεβάσουμε σε μια μικρή και πάλι τον ανεβάσουμε πάνω, θα πάμε στο σημείο που ξεκινήσαμε! Αυτό γίνονταν και στην 5 αλλά υπήρχε ένα θέμα με το εξής απίστευτο, αν έκανε κάποιος την κίνηση από τη μεγάλη γραμμή στη μικρή και πάταγε το enter, τότε διαγράφονταν δυο χαρακτήρες! Λύθηκε το πρόβλημα με μια γραμμή κώδικα (από μια για το κάθε στοιχείο).Αυτός ο τρόπος κίνησης του δρομέα υπάρχει και στον διορθωτή αυτού του blog.
Έχω κάνει την προεργασία για ένα αντικείμενο όπως ένα hash table, αλλά με διπλό κλειδί, δηλαδή δυο πίνακες hash, έτσι ώστε να φτιάξω την relational database, πιο απλή αλλά να μην στηρίζεται σε εξωτερικές βιβλιοθήκες. (αν και θα παραμείνει η δυνατότητα να χειριζόμαστε ADO αντικείμενα).
Εδώ είναι κώδικας που δημιουργεί μια βάση δεδομένων στη μνήμη (local). Ακόμα δεν υπάρχει η SQL για αυτή τη βάση. Αυτό που γίνεται είναι να δημιουργηθεί η βάση, και να διαβάσουμε τη δομή της.
Αν αφαιρέσουμε το local μετά το base τότε η βάση θα γίνει στο δίσκο σαν alfa.mdb
Περίπου φαίνεται το ίδιο στην ανάγνωση της δομής στις δυο περιπτώσεις. Θέλει ακόμα δουλειά!
Έχω κάνει την προεργασία για ένα αντικείμενο όπως ένα hash table, αλλά με διπλό κλειδί, δηλαδή δυο πίνακες hash, έτσι ώστε να φτιάξω την relational database, πιο απλή αλλά να μην στηρίζεται σε εξωτερικές βιβλιοθήκες. (αν και θα παραμείνει η δυνατότητα να χειριζόμαστε ADO αντικείμενα).
Εδώ είναι κώδικας που δημιουργεί μια βάση δεδομένων στη μνήμη (local). Ακόμα δεν υπάρχει η SQL για αυτή τη βάση. Αυτό που γίνεται είναι να δημιουργηθεί η βάση, και να διαβάσουμε τη δομή της.
Αν αφαιρέσουμε το local μετά το base τότε η βάση θα γίνει στο δίσκο σαν alfa.mdb
Περίπου φαίνεται το ίδιο στην ανάγνωση της δομής στις δυο περιπτώσεις. Θέλει ακόμα δουλειά!
base local "alfa" table "alfa", "firstTable", "field1",long, -1, "title1", text, 40, "memo1", memo, 0,"mo1", memo, 0, "money", double,0 order "alfa", "firstTable", "title1", descending, "money", descending function attrib$(i) { if i=-1 then ="AutoIncrement" else.if i=0 then ="Default" else =str$(i,"") end if } structure "alfa" read many if many>0 then Print "Tables:" for i=1 to many read tablename$, indexnumber Print i, ") ";tablename$, "indexes:"; indexnumber structure "alfa", tablename$ read many, indexnumber if many>0 then Print " ", "Fields:" for j=1 to many read fieldname$, fieldtype$, fieldlen Print "",j,") ";fieldname$, @(tab(4)), fieldtype$, attrib$(fieldlen) next j end if Read indexnumber if indexnumber>0 then Print " ", "Order:" for j=1 to indexnumber read fieldname$, fieldtype$ Print "",j,") ";fieldname$, @(tab(4)), fieldtype$ next j end if next i end if close base "alfa" flush
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.