Δευτέρα 9 Νοεμβρίου 2020

Αναθεώρηση 6, Έκδοση 10 - Διορθώσεις και Επεκτάσεις

Στην 6η αναθεώρηση, διόρθωσα τις επιπτώσεις της 5ης στο τμήμα BASEG, στο αρχείο INFO.GSB, με το οποίο έδειχνα πώς διαβάζουμε recordset απευθείας από το αντικείμενο. Τώρα δουλεύει!


Επίσης βρήκα και ένα πιο παλιό ελάττωμα (πιο ωραία λέξη για το bug), που υπήρχε αλλά σπάνια φαίνονταν. Όταν έβαλα το διά "/" για χαρακτήρα που δείχνει εκτός από το διαίρεση και τις σημειώσεις, το άφησα να το βρίσκει ως έχει το σύστημα, αλλά σε ορισμένες περιπτώσεις που κοίταζε μπροστά, δεν το λογάριαζε. Τώρα έχει διορθωθεί για όλα όπως το "'" και την "\".  Ο χρωματιστής κώδικα τα βρίσκει άμεσα, έχει διαφορετικό τρόπο λειτουργίας (πιο αφαιρετικό). Τώρα συμπίπτει ο χρωματισμός με αυτό που γίνεται (ελπίζω, γιατί πάντα μπορεί να προκύψουν περιπτώσεις...)

Το πρόβλημα το βρήκα μέσω του παραδείγματος S1, στο αρχείο INFO.GSB, όπου στη τελευταία λειτουργία της επίδειξης εμφάνιζε λάθος (έχασε το Επόμενο (Next) σε ένα For Next, γιατί λογάριασε το / ως σημείωση και πέταξε τη γραμμή μαζί με το σημάδι...Επόμενο..). Τώρα το παράδειγμα λειτουργεί.

Γενικά όταν κάνω αλλαγές ελέγχω όλα τα προγράμματα στο Info αρχείο, αλλά αρκετές φορές κάνω έλεγχο σε λίγα. Τώρα έγινε στα βασικά (στα μεγάλα προγράμματα, που έχει το Info), και σε μερικά δεύτερης διαλογής, στα οποία όμως βρέθηκαν λάθη και διορθώθηκαν.

Προσθήκη

Επιπλέον σε αυτήν την αναθεώρηση έκανα προσθήκη στο εργαλείο συμπίεσης. Τώρα μπορούμε να συμπιέζουμε στη μνήμη, δηλαδή να έχουμε φτιάξει το Zip , να μην συμπιέσουμε στο δίσκο,  αλλά να το συμπιέσουμε σε στη μνήμη. Ομοίως μπορούμε από ένα Zip, από την μνήμη ή από τον δίσκο να κάνουμε εξαγωγή αρχείου στη μνήμη ή στο δίσκο. Στο πρόγραμμα JukeBox, η εικόνα έχει πια συμπιεστεί σε αρχείο zip και το αρχείο έχει γίνει κείμενο με κωδικοποίηση Base64 και έτσι συμπεριλαμβάνεται στον κώδικα. Υπάρχουν εντολές που διαβάζουν το κείμενο, το κάνουν δυαδικά δεδομένα και το δίνουν στο αντικείμενο που χειρίζεται zip αρχεία (αλλά και μνήμη που έχει ένα zip αρχείο όπως εδώ), και από αυτά εξάγεται το αρχείο της εικόνας σε άλλη μνήμη (αποσυμπιεσμένο). 

Η Μ2000 έχει την Διάρθρωση μνήμης, ένα αντικείμενο που χειρίζεται μνήμη του υπολογιστή για να έχουμε πρόσβαση σε επίπεδο διεύθυνσης μνήμης. Επίσης χρησιμοποιείται για εικόνες, ήχους, για δυαδικά αρχεία και για να φτιάχνουμε δομές τύπου C (stuctures), τις οποίες τις χρησιμοποιούμε για δυαδικά αρχεία και για να παρέχουμε δομές στο λειτουργικό σύστημα..

Δείτε το DEMO1 όπου χρησιμοποιούνται όλα τα ήδη προγραμματισμού! Είναι αυτό που φτιάχνει ένα απλό 3D γραφικό, και το περιστρέφει. Χρησιμοποιεί διάρθρωση μνήμης για να γράφει τα στοιχεία που περνάει άμεσα σε ένα αντικείμενο μαθηματικών (που έχει η Μ2000) για να γίνονται σειρές υπολογισμών πάνω σε διανύσματα τύπου τετραδόνιου (4D) . Το πρόγραμμα χρησιμοποιεί ένα παράθυρο, και νήματα για διάφορες εργασίες. Έτσι ένα νήμα υπολογίζει την νέα θέση, ένα άλλο νήμα κάνει την εμφάνιση σε τακτά διαστήματα, ένα άλλο σταματάει το πρώτο και βάζει μπροστά ένα άλλο για να βλέπουμε το γραφικό να σταματάει και να αναβοσβήνει! Επιπλέον οι γραμμές του γραφήματος είναι σε αντικείμενο, το οποίο καλούμε μια μέθοδο για να εμφανιστεί. Πριν όμως την εμφάνιση κάνουμε ταξινόμηση, για να γράψουμε πρώτα την γραμμή που είναι στο βάθος.


Στην εικόνα φαίνονται οι τρεις γραμμές (γράφονται με GDI+, με ομαλή γραμμή, χωρίς δοντάκια). Δείτε η μπλε γραμμή σχεδιάστηκε τελευταία, είναι πάνω από τις άλλες. Ο αριθμός πάνω αριστερά (μέσα στο παράθυρο) δηλώνει το φόρτο. Όσο μικρότερος είναι τόσο λιγότερος ο φόρτος του υπολογιστή. Αν κάνουμε εργασίες στον υπολογιστή ή ανοίξουμε πολλές φορές τη Μ2000 και τρέξουμε σε κάθε μία το ίδιο πρόγραμμα τότε το σύστημα αφενός θα τα μοιράσει σε επεξεργαστές και θα μοιραστεί το συνολικό τρέχον φορτίο σε όλους (θα μεγαλώνουν τα νούμερα).

Κάτω στη γραμμή αναφοράς υπάρχουν μετρητές των νημάτων, και το ρολόι. Το εικονίδιο με τις τρεις άσπρες γραμμές ανοίγει το σχετικό μενού απ΄ όπου μπορούμε να χειριστούμε το παράθυρο με τα πλήκτρα ή το ποντίκι, ακόμα και να το μετακινήσουμε με τα βελάκια (σε άλλα παράθυρα που αλλάζουν διάσταση μπορούμε να την αλλάξουμε και από αυτό το μενού). Τα μενού αυτά μπαίνουν και δεξιά. Γενικά τα παράθυρα της Μ2000 είναι πραγματικά παράθυρα, γυμνά, και τα γεμίζει η Μ2000 όπως θέλει. Πάνω δεξιά φαίνεται το "_" για ελαχιστοποίηση στη γραμμή εργασίας, και το τετράγωνο για να κλείσει το παράθυρο. Αν γράφουμε κώδικα και αυτός βγάλει πρόβλημα τότε το παράθυρο κλείνει και μας γυρνάει το σύστημα στη κονσόλα της Μ2000. Εδώ η κονσόλα έχει εξαφανιστεί, και θα επανέλθει μόλις τερματίσουμε το πρόγραμμα. Αν το πρόγραμμα το ξεκινούσαμε με διπλό κλικ (εφόσον δηλώσουμε στο λειτουργικό να ανοίγει ο τύπος αρχείου που θέλουμε με τη Μ2000) τότε δεν ανοίγει η κονσόλα αν δεν το θέλουμε και αν έτσι έχουμε "εφαρμογές" που δεν φαίνεται το περιβάλλον Μ2000 πάνω στο οποίο τρέχουν.


Για τις ημέρες της καραντίνας, ακούμε μουσική με το Jukebox της Μ2000!


ΓΚ


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

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

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