Παρασκευή 4 Μαρτίου 2016

Εγχειρίδιο της Μ2000 - Τεύχος 24ο

13.Παρουσίαση Στοιχείων.

Είδαμε σε άλλα κεφάλαια ότι μπορούμε να εξάγουμε στοιχεία σε αρχεία απλά και σε βάσεις δεδομένων. Ένα κεφάλαιο θα αφιερωθεί στην παρουσίαση στοιχείων, με διάφορους τρόπους! Θα απαιτηθούν αρκετά τεύχη/δημοσιεύσεις στο blog!

Μια βασική εντολή είναι η Τύπωσε. Δεν έχει χρησιμοποιηθεί η λέξη Εμφάνιση αλλά η Τύπωσε διότι η οθόνη στη Μ2000 δεν εμφανίζει μόνο. Είναι μια μεταβλητή που την βλέπουμε αλλά μπορούμε να την χειριστούμε, να πάρουμε τμήματά της να τα γράψουμε αλλού, να κάνουμε διάφορα. Δηλαδή μπορεί να γίνει στοιχείο επεξεργασίας. Στο παράδειγμα Τρία Καταγραφικά, έχουμε κάνει τρεις περιοχές της οθόνης να ολισθαίνουν όπως το χαρτί ενός καταγραφικού, που σημαίνει ότι κάθε νέα οθόνη είναι μια συνάρτηση της παλιάς με νέα στοιχεία.



13.1 Η Οθόνη Βασικά Στοιχεία

Βασικό αντικείμενο εξόδου είναι η Οθόνη, η οποία έχει μια ιδιομορφία στην Μ2000. Ανάλογα με το μέγεθος και τύπο γραμματοσειράς καθώς και με το χώρο του παραθύρου που δημιουργεί αυτόματα ο διερμηνευτής, έχουμε μια οθόνη με πλάτος έναν αριθμό χαρακτήρων και ύψος έναν αριθμό γραμμών χαρακτήρων.
Εκτός από την ανάλυση όπως λέμε σε χαρακτήρες κατά πλάτος και γραμμές κατά ύψος, έχουμε άλλες τέσσερις παραμέτρους: Το χρώμα φόντου, το τρέχον χρώμα πένας, τη γραμμή χωρισμού της οθόνης, και το διάστιχο.

Ένα βασικό στοιχείο για την Οθόνη της Μ2000 είναι ότι οι χαρακτήρες γράφονται χωρίς να καθαρίζεται το φόντο πάνω στο οποίο γράφονται. Υπάρχει τρόπος να καθαριστεί το φόντο, σε επίπεδο στήλης σε μια γραμμή,  σε μια ολόκληρη γραμμή, σε γραμμές στο κάτω μέρος και σε όλη την οθόνη.

Επίσης υπάρχουν δυο εντολές (Διπλά και Κανονικά) που η μία κάνει διπλό μέγεθος τα γράμματα και η άλλη τα επαναφέρει. Όταν κάνουμε διπλό μέγεθος τότε έχουμε μισό πλάτος και μισό ύψος, αριθμητικά για την ίδια Οθόνη.Έχουμε επίσης και μορφή να επιλέξουμε Φαρδιά και Πλάγια.

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

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

Εκτός από τη βασική οθόνη ή Επίπεδο, έχουμε 32 αριθμημένα άλλα επίπεδα (που δεν τα βλέπουμε στο ξεκίνημα, και έχουν και αυτές χωριστή ολίσθηση), το Περιθώριο που είναι η οθόνη πίσω από την βασική και επιπλέον δυο ακόμα, τη σελίδα εκτύπωσης για τον εκτυπωτή. Όλες οι εντολές γραφικών/γραμμάτων είναι κοινές για κάθε οθόνη, με εξαίρεση την ολίσθηση στη σελίδα του εκτυπωτή που κάνει αλλαγή σελίδας αν πρέπει να βρει νέα γραμμή και έχει φτάσει στο τέλος σελίδας. Επίσης στην σελίδα εκτυπωτή μπορούμε να ορίζουμε προσανατολισμό. Ειδικά για τους εκτυπωτές μπορούμε να επιλέγουμε μέσα από διάλογο του οδηγού κάθε εκτυπωτή ότι θέλουμε, π.χ. μονόχρωμη εκτύπωση, και τις πληροφορίες τις σώνει η Μ2000, ή αν θέλουμε τις παίρνουμε σε ένα αλφαριθμητικό και τις σώνουμε χωριστά!

13.2 Επιλογή Ανάλυσης Φόρμας

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

Διάστιχο 0 : Φόρμα 80,40 : Τύπωσε Διάστιχο

Θα πάρουμε μια Οθόνη 80 χαρακτήρων με 40 γραμμές (το σύστημα βάζει το ανάλογο διάστιχο, την απόσταση γραμμών για να έχουμε τις 40 γραμμές σε όλο το παράθυρο.
Οι θέσεις χαρακτήρων θα είναι από 0 έως 79 και οι γραμμές από 0 έως 39

Δρομέας 15, 20 : Χ=θέση : Ψ=Γραμμή : Οθόνη : Τύπωσε Χ, Ψ


Αυτές τις εντολές μπορούμε να τις δώσουμε απ' ευθείας από την γραμμή εντολών.  Θα μεταφερθεί ο δρομέας (δεν τον βλέπουμε) στην θέση 15 και γραμμή 20 και μετά ορίζουμε τις Χ και Ψ και βάζουμε τις τιμές (θα είναι πράγματι το 15 και το 20). Μετά λέμε να καθαρίσει η οθόνη και μετά να τυπώσει τις τιμές σε δυο στήλες (στην πρώτη γραμμή του τμήματος της οθόνης που σβήσαμε).

13.3. Διορθωτής Λίστας Εντολών


Έχουμε δει ότι με Σ (ή Συγγραφή) και όνομα π,χ, Σ Α ανοίγει ο διορθωτής στο τμήμα Α, ή με Σ Α() ανοίγει ο διορθωτής για τη Συνάρτηση Α(). Όλες αυτές οι εντολές γράφονται σε μια λίστα σε ένα κείμενο και με τα βελάκια πάνω και κάτω επιλέγουμε γρήγορα κάποια από αυτές.

Μπορούμε όμως να ανοίξουμε τη λίστα προηγούμενων εντολών με το Σ χωρίς όνομα (ή edit ) και τότε βλέπουμε τις εντολές χρωματισμένες και μπορούμε να επιλέγουμε όποια θέλουμε και να βλέπουμε βοήθεια (δείτε το μενού με δεξί κλικ - το μενού έχει και γραμμές που δεν φαίνονται άμεσα αλλά με κύλιση (έχω και κρυμμένη μπάρα ολίσθηση για ευκολία ή χρησιμοποιούμε βελάκια, ή με το δείκτη πατημένο ολισθαίνει αυτόματα με την κίνησή του). Το μενού επιλογών αλλάζει μέγεθος καθώς το ανοίγουμε ή κλείνουμε από την κάτω δεξιά γωνία προσαρμόζοντας το μέγεθος γραμμάτων αυτόματα (τα παράθυρα της Μ2000 είναι δικά της, δεν έχουν σχέση με τα Windows και βγαίνουν το ίδιο σε όλα τα λειτουργικά).

13.4 Χρώμα Φόντου - Κύλιση, Χωριστή Οθόνη

Αν γράψουμε στη τελευταία γραμμή και ζητάμε νέα τότε οι γραμμές που έχουν οριστεί από τη γραμμή χωρισμού και κάτω ολισθαίνουν προς τα πάνω και εμφανίζεται μια νέα γραμμή καθαρή με το χρώμα φόντου. Αυτή είναι η λειτουργία κύλισης. Η Γραμμή χωρισμού θα εξαφανιστεί και θα περιέχει την επόμενη γραμμή.

Όταν ανοίγουμε τον διορθωτή για να γράψουμε ή να διορθώσουμε ένα τμήμα ή μια συνάρτηση τότε αυτός "ανοίγει" πάνω από την οθόνη (σε δική του φόρμα), που τοποθετείται επακριβώς από την γραμμή χωρισμού της οθόνης μέχρι την τελευταία γραμμή της. Ομοίως το ίδιο συμβαίνει αν μέσα από ένα τμήμα καλέσουμε την Διόρθωσε Α$ (όπου Α$ είναι ένα αντικείμενο έγγραφο). Όταν βγαίνουμε με Esc από τον διορθωτή τότε η οθόνη εμφανίζεται όπως ήταν πριν ανοίξουμε το διορθωτή.

Οθόνη ,0

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

Οθόνη 1, -10

Με αυτή την εντολή καθαρίζουμε τις τελευταίες δέκα γραμμές με βασικό χρώμα 1 (μπλε σκούρο), Το -10 λέει ότι θέλουμε την χωριστή οθόνη από το Ύψος-10. 

Μπορούμε να ορίσουμε χωριστή οθόνη χωρίς να την σβήσουμε:

Κύλιση Χώρισμα 20 

Μπορούμε να δώσουμε εντολές για κύλιση κατά μια γραμμή κειμένου (η Κομ$ περιμένει ένα οποιοδήποτε πλήκτρο (κομβίον).

Κύλιση άνω : α$=Κομ$ : Κύλιση κάτω

Επειδή κάποιες φορές θέλουμε να κρατήσουμε την οθόνη σε μια κατάσταση, να κάνουμε αλλαγές και να την επαναφέρουμε, η Μ2000 έχει ένα απλό σύστημα κράτησης της οθόνης (υπάρχει και άλλο τρόπος για να κρατάμε πολλές σελίδες).
Χρησιμοποιούμε τη Κράτησε για κρατάει την εικόνα της οθόνης, την Άφησε για να αφήνει την κρατημένη στην θέση της (αλλά κρατάει αντίγραφο) και την Ανανέωση για να δώσουμε εντολή να την εμφανίσει το σύστημα.

Φόρμα 20,10
Φόντο 1,5
Α$="Γεια χαρά!"
Α=Αληθής
Κράτησε
Κάθε 100 {
      Άφησε
      Α~    \\ το ~ αντιστρέφει δηλαδή Α = όχι Α
      Αν Α Τότε Τύπωσε @((πλάτος-μήκος(Α$))/2,ύψος/2),Α$
      Αν Δείκτης τότε Έξοδος
      Ανανέωση
}
Φόρμα 40, 20
Η εντολή Φόντο βάζει με διαβάθμιση χρώμα από το πρώτο στο δεύτερο κάθετα ή με άλλη μια παράμετρο το 0 οριζόντια. Δεν αλλάζει το δρομέα χαρακτήρων και το δρομέα γραφικών (δεν έχει αναφερθεί ο δρομέας γραφικών αλλά θα τον δούμε στο κεφάλαιο με τα γραφικά).

13.5 Θέση χαρακτήρα/Στήλες

Η θέση κάθε χαρακτήρα έχει χώρο για να γραφτούν φαρδιά γράμματα (bold) και πλάγια (italics). Επίσης λογαριάζονται και στήλες, ώστε δυο αριθμοί για παράδειγμα να τυπωθούν σε δυο στήλες με δεξιά στοίχιση. Επιπλέον μπορούμε να "τυπώνουμε" στην οθόνη με αναλογική γραφή, καθορίζοντας την περιοχή εμφάνισης, με χρήση των θέσεων χαρακτήρων. Έτσι ενώ έχουμε μια στήλη έστω είκοσι χαρακτήρων μπορούμε να εμφανίσουμε με αναλογική γραφή περισσότερους.
Οι στήλες και θέσεις χαρακτήρων βοηθούν τόσο όταν τυπώνουμε με μη αναλογικό τρόπο όσο και όταν τυπώνουμε με αναλογικό (αναλογικός είναι όπως αυτό το κείμενο).

Βασική εντολή για να εμφανίζουμε στην οθόνη σε θέσεις χαρκτήρων/στηλών είναι η Τύπωσε

Τύπωσε 12,"αλφα", 3**5>3*3*3*3+3*3*3*3, 3**5>3*3*3*3+3*3*3*3+3*3*3*3
Δίνει:
         12αλφα        -1         0

Η ύψωση σε δύναμη έχει δυο σύμβολα το ** και το ^ και χρησιμοποιούμε όποιο θέλουμε χωρίς προεπιλογή.

13.6 Στοίχιση σε στήλες/Γραφή αναλογική

Δείτε στο προηγούμενο παράδειγμα ότι το 12 κόλλησε με το άλφα. Αυτό συμβαίνει γιατί οι αριθμοί βάσει προεπιλογής στοιχίζονται δεξιά ενώ τα γράμματα αριστερά, αλλά αυτό αλλάζει, με μια εσωτερική εντολή της Τύπωσε την $(). Το 1 δίνει όλες τις στήλες με αριστερή στοίχιση και αναλογική γραφή, ενώ το 0 δίνει στους αριθμούς δεξιά στοίχιση και στα γράμματα δίνει δυο πράγματα, αριστερή στοίχιση και αν χρειαστεί επέκταση σε επόμενες στήλες.

Οθόνη 1,0
Τύπωσε $(1),12.4,"άλφα", Αληθές, Ψευδές, $(0)

12.4      άλφα         -1         0
Οι επιλογές είναι δέκα, από το 0 έως το 9. Το 2 είναι η στοίχιση στο κέντρο, το 3 η στοίχιση δεξιά
Από το 4 και πάνω έχουμε επιλογές για αναλογική γραφή. Τα 4 έως 7 είναι ίδια με τα 0 έως 3 για την μη αναλογική γραφή. Εδώ η αναλογική γραφή για αλφαριθμητικά περιλαμβάνει και αποκοπή λέξεων που δεν μπορούν να συμπεριληφθούν επειδή θα κόβονταν αλλιώς. Η 8 εμφανίζει τα αλφαριθμητικά με στοίχιση και από τις δυο πλευρές (επίσης κάνει διαγραφή της λέξης που δεν μπαίνει όλη). Η 9 εμφανίζει και την κομμένη τυχόν λέξη. Από 10 και πάνω γυρνάμε πάλι στο 0 εσωτερικά.
Σε όλες εκτός από την 0 η επέκταση πέρα από την οθόνη για περιεχόμενο στήλης χάνεται, ενώ αν ζητάμε νέα στήλη και δεν υπάρχει χώρος τότε αυτός θα βρεθεί σε νέα γραμμή (γίνεται αλλαγή γραμμής). Στην περίπτωση της 0 με μη αναλογική γραφή οι επιπλέον χαρακτήρες συνεχίζουν στην επόμενη γραμμή.

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

13.7 Εμφάνιση κελιών με αλλαγή φόντου ή και περίγραμμα

Σε μια γραμμή η στήλη είναι ένα κελί, με πλάτος κάποιους χαρακτήρες και ύψος μια γραμμή! Εδώ ορίζουμε χρώμα πένας το 14 (κίτρινο) και το 12 βγαίνει με πράσινο φόντο (2) και χρώμα άσπρο (15), το άλφα βγαίνει με γκρίζο χρώμα με ότι είχε από πίσω, εδώ είχαμε καθαρίσει την οθόνη άρα είχαμε μπλε (1) χρώμα. Μετά βάζουμε το "οκ" με περίγραμμα άσπρο.

Οθόνη 1,0
Πένα 14
Δρομέας 0,1
Τύπωσε ~(15,2,2), 12,~(7), "άλφα",~(15,2,15), "οκ", ~(Πένα)

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

13.8 Χρώματα

Τα βασικά χρώματα είναι από 0 έως 15. Μπορούμε να χρησιμοποιούμε το στυλ της Html
Τύπωσε ~(#12AAFF, #AAFF12, #882211), 12,~(7), "άλφα",~(#12AAFF, #AAFF12, #882211), "οκ", ~(Πένα)

ή αν θέλουμε μπορούμε να χρησιμοποιήσουμε την Χρώμα() που παίρνει την τιμή RGB με τιμές για κάθε χρώμα από 0 έως 255 (μπορούμε να δίνουμε δεκαεξαδικά νούμερα π.χ. το 0xFF είναι το 255).

Πένα Χρώμα(255,255,255)

Επιπλέον μπορούμε να αλλάζουμε πρόσκαιρα το χρώμα της πένας με ένα μπλοκ:

Πένα 11
Τύπωσε "χρώμα κυανό"
Πένα 15 {
      Τύπωσε "Χρώμα Άσπρο"
}
Τύπωσε "χρώμα κυανό"

Μπορούμε να βρούμε το χρώμα που θέλουμε από χρωματολόγιο:


Η Επίλεξε.Χρώμα δίνει το παραπάνω, Επιλογή κάνουμε με την λίστα (16 εκατομμύρια στοιχεία έχει), αλλάζοντας τις τρεις στήλες εδώ είναι BGR αλλά με κλικ στην ετικέτα αλλάζουν ώστε με τα βελάκια ή με την μπάρα ολίσθησης ή με κράτημα δείκτη και ολίσθηση να αλλάζουμε τιμή. Το χρώμα είναι αυτό που φαίνεται στον αριθμό. Η εξαγωγή από τη φόρμα πάει στο σωρό και την διαβάζουμε με μια Διάβασε Α στην μεταβλητή Α. Μπορούμε να ξεκινήσουμε την επίλεξε από ένα χρώμα, αυτό που είναι στην μεταβλητή ή να δώσουμε ένα:
Επίλεξε.Χρώμα #22AACC : Διάβασε Α : Τύπωσε Α

Επειδή από έναν διάλογο μπορούμε να βγούμε χωρίς να επιλέξουμε, εδώ το ξέρουμε αν το Α είναι θετικό νούμερο! Τα χρώματα π.χ. το #22AACC (με λατινικά τα ψηφία του δεκαεξαδικού ABCDEF), έχουν αρνητικό νούμερο για την Μ2000. Τα θετικά 1 έως 15 είναι βασικά χρώματα.
Π.χ. αν δώσουμε
Πένα Χρώμα(255,255,255)
Τύπωσε Πένα=Χρώμα(255,255,255)

θα κάνουμε την πένα 15 ενώ η συνάρτηση δίνει το -16777215  

13.9 Ελεύθερη Μετακίνηση Δρομέα 

Είδαμε την Δρομέας που μετακινεί το δρομέα σε μια θέση και γραμμή στην οθόνη (ή στη σελίδα του εκτυπωτή). Υπάρχει μια εντολή αλλαγής του δρομέα που μπαίνει στην λίστα παραμέτρων (σαν παράμετρος και αυτή) αλλά αντί να τυπώνει μετακινεί το δρομέα (και κάνει και άλλα που θα δούμε αργότερα).
Οθόνη 1, 0
Τύπωσε @(10,10),"<-Εδώ είναι το 10,10", @(2,2),"<-Εδώ είναι το 2,2"


Αν στο αλφαριθμητικό υπάρχουν χαρακτήρες κάτω από 32 (το διάστημα) όπως είναι ο χαρακτήρας 13 που αλλάζει γραμμή, τότε η Τύπωσε δεν τον χρησιμοποεί για να αλλάξει γραμμή αλλά τυπώνει διάστημα. Το CRLF χαρακτήρες 13 και 10 που στα Windows χρησιμοποιούνται μαζί ως αλλαγή γραμμής εδώ θα είναι δυο διαστήματα. Τον έλεγχο αλλαγής γραμμής δεν τον κάνει το περιεχόμενο του αλφαριθμητικού στην Τύπωσε.

Υπάρχουν τρόποι να κολλήσουμε τον δρομέα στην τελευταία θέση, δηλαδή μετά την τύπωσε να μην γίνει αλλαγή γραμμής. Δείτε έναν με το κόμμα στο τέλος.
Τύπωσε 12,34,
Α$=Κομ$
Τύπωσε 45

Εδώ θα τυπωθεί:
    12     34    45
Δηλαδή το 45 τυπώνεται στην επόμενη στήλη.

Ο άλλος τρόπος είναι με τον χαρακτήρα ";" όπου "σπάμε" τη χρήση στηλών.
Τύπωσε 123;"αλφα";456;
Α$=κομ$
Τύπωσε "οκ"


Θα τυπωθεί:
123αλφα456οκ

Αν θέλουμε να υπολογίσουμε την στήλη το κάνουμε με αυτό:
Τύπωσε Στήλη
Τύπωσε @(Στήλη(3)),"αλφα"
Τύπωσε @(Στήλη(2)),"αλφα"
Τύπωσε @(Στήλη(1)),"αλφα"
Τύπωσε @(Στήλη(100)),"αλφα"

Η τελευταία Τύπωσε εμφανίζει μόνο μια κενή γραμμή γιατί το άλφα τυπώθηκε στην 100ή στήλη και εμείς δεν βλέπουμε τόσες;. Μπορούμε στο @() να βάζουμε αρνητικά νούμερα, και έξω από την οθόνη. 
Το πλάτος της στήλης επιλέγεται αυτόματα όταν επιλέγουμε φόρμα ή μπορούμε να το αλλάξουμε με την $(). Αν δεύτερη παράμετρος της $() είναι αριθμός (δέχεται από 4 και πάνω)  τότε αυτός είναι το πλάτος στήλης. Ισχύει η ρύθμιση μέχρι να αλλάξουμε ή να σβήσουμε την Οθόνη.

13.10 Ειδικές Τύπωσε (Πάνω - Μέρος - Υπό)

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

Και οι τρεις εντολές έχουν το ίδιο σύμπτωμα...κρατάνε αλλαγές για τις στήλες και το πλάτος πεδίων και τον τρόπο εμφάνισης πρόσκαιρα. (όπως η Πένα  { }  κρατάει την αλλαγή μόνο για το μπλοκ)

Η Τύπωσε Πάνω έχει επίσης μια διαφορά σημαντική. Πρώτα καθαρίζει την γραμμή, αλλά αφήνει μια λεπτή γραμμή από κάτω χωρίς να την πειράξει. Μετά βάζει το πλάτος στήλης όσο το πλάτος οθόνης. Μετά βάζει το σύστημα εμφάνισης 4, δηλαδή αναλογική γραφή.
Οθόνη 2, 0
Φόντο 1, 5
Τύπωσε Πάνω $(2), "Γιώργος"
Οθόνη 1, -10

Ενώ η Φόντο μας είχε διαβάθμιση, στην πάνω γραμμή έχουμε μόνο το χρώμα Οθόνης το 2. Η τελευταία εντολή μας σβήνει με μπλε (1) τις τελευταίες 10 γραμμές και κάνει εκεί χωριστή οθόνη!
Επίσης κάτι που δεν φαίνεται στο παράδειγμα. Η Τύπωσε Πάνω δεν αλλάζει γραμμή παρόλο ότι δεν έχει το ";" ή το ",". Και επίσης δεν επιτρέπει την επέκταση στην κάτω γραμμή.

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

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

Σημ 1 : Γραμματοσειρά "TIMES NEW ROMAN"
Σημ 1 : Γραμματοσειρά "COMICS"
Γραμματοσειρά "COURIER NEW"
Φαρδια 1
Φόρμα 80,30
Δρομέας 0,5
Τύπωσε Υπό : Τύπωσε Υπό
ι=0 : Α$="1234567890" : Β$="Κέντρο"
Γ$="Γλώσσα Προγραμματισμού Μ2000 | 2016"
Χ=160
Χ1=40
Χ2=120
\\ κάθε 1/30 του δευτερολέπτου
\\ 30 * 1/30  δίνει 1 δευτερόπλετπο
\\ 30 * 1000/30 δίνει 1000 χιλιοστά δευτερολέπτου
Ανανέωση 500
Κάθε 1000/30 {
      ι++
      Δρομέας 0,5
      ανανέωση 0
      Τύπωσε Πάνω
      Πλάγια 1
      Τύπωσε Μέρος @(Χ-((Ι+Χ2) υπολ Χ)-Χ1), Γ$, @(Χ-((Ι+Χ1) υπολ Χ)-Χ1), Γ$
      Πλάγια 0
      Τύπωσε
      Τύπωσε Πάνω
      Τύπωσε Μέρος $(1,12), Α$, "Βήτα"+γραφη$(ι), $(2,20), Β$,
      \\ σπάω την μέρος με σε δυο "αράδες" με την χρήση της @(θέση)
      \\ για να μην χάσω το "μέτρημα"
      \\ Δεν πρόκειται να αλλάξει η γραμμή
      Φαρδιά 0
      Τύπωσε Μέρος @(θέση),$(6,7), ι+1, ι*2, Γραφή$(ι/3, "##.00"), ι**2, $(""), Μορφή$("({0:2})",ι/100)
      Φαρδίά 1
      Α$=Μεσ$(Α$,2)+Αρισ$(Α$,1)
      Β$="."+Β$+"."
      Αν Μήκος(Β$)>12 Τότε Β$="Κέντρο"
      Αν Δείκτης Τότε Έξοδος
}


13.11 Γραμματοσειρές - Επιγραφή

Είδαμε στο προηγούμενο παράδειγμα πώς αλλάζουμε γραμματοσειρά. Κάθε οθόνη έχει επιλεγμένη μια γραμματοσειρά. Όμως μπορούμε να χρησιμοποιήσουμε Επιγραφές, που είναι κείμενο με επιλογή ξεχωριστής γραμματοσειράς, που τυπώνεται με ξεχωριστό μέγεθος βάσει το δρομέα γραφικών. Εδώ επιλέγουμε και γωνία. Έτσι μπορούμε να έχουμε εκτύπωση προς τα πάνω ή όποια άλλα γωνία θέλουμε.

Φόντο 1,5
α$={Γειά σου
                  Το όνομά μου είναι Γιώργος
                  }
στοίχιση_κέντρο=2
Ποιότητα = αληθής
Απόσταση_γραμμάτων = -πλάτος.σημείου \\ ένα pixel πιο κοντά
Θέση 6000,6000 \\ θέση δρομέα σε twips    6000/πλάτος.σημείου = pixels
Επιγραφή α$, "Arial Black", 32, Πι/6, στοίχιση_κέντρο, ποιότητα, Απόσταση_γραμμάτων



Η ποιότητα καθορίζει αν θα έχουμε φινίρισμα ή όχι στις ακμές των γραμμάτων. Αν δεν έχουμε τότε δεν γίνονται βελτιώσεις, άρα έχουμε "καθαρά" εικονοστοιχεία, τα οποία φαίνονται κάπως άσχημα, Αν θέλουμε να πάρουμε την εικόνα και να την κάνουμε διαφάνεια τότε μας βολεύει, η ποιότητα 0,

θα δούμε παραδείγματα με διαφάνειες στο αντίστοιχο κεφάλαιο.

13.12 Επιλογή Γραμματοσειράς.

Εκτός από την επιλογή που γίνεται στις Ρυθμίσεις, μπορούμε να ανοίξουμε τον επιλογέα γραμματοσειράς.

Κάνε Λογική$(χ)=Γραφή$(χ,";Αληθής;Ψευδής;")
Επίλεξε.γραμματοσειρά


Αν αριθμός>0 τότε {
      Διάβασε ονομα$, Μεγ, Κωδσελίδα, ιταλ, φαρδ
      Τύπωσε "Γραμματοσειρά:";ονομα$
      Τύπωσε "Μέγεθος:";Μεγ
      Τύπωσε "Κωδικοσελίδα:";Κωδσελίδα
      Τύπωσε "Πλάγια:"; Λογική$(ιταλ)
      Τύπωσε "Φαρδιά:";Λογική$(φαρδ)
} Αλλιώς Τύπωσε "Τίποτα"



13.13 Εμφάνιση Αριθμών με Δεκαδικά 

Για τα δεκαδικά, εσωτερικά χρησιμοποιούμε την τελεία (και στις εισαγωγές), αλλά στην εμφάνιση μπορεί να αλλάξει (Για όλες τις φορές που θα τρέξουμε το περιβάλλον της Μ2000)

Σε ένα τμήμα πρέπει να βάλουμε την Θέσε για να στείλει την εντολή Διακόπτες στον διερμηνευτή γραμμής εντολών (ο διερμηνευτής τμημάτων/συναρτήσεων δεν την γνωρίζει)

Θέσε Διακόπτες "-DEC"
Τύπωσε 12.3 \\ τυπώνει με κόμμα αν ορίζεται το κόμμα από τα windows
Θέσε Διακόπτες "+DEC"
Τύπωσε 12.3 \\ τυπώνει με τελεία



Η αλλαγή με τον διακόπτη DEC είναι μόνιμη (μέχρι να το αλλάξουμε ξανά). Μπορούμε να γνωρίζουμε ανά πάσα στιγμή τι χαρακτήρα έχουμε για δεκαδικά στο σύστημα με αυτό:

Τύπωσε τοπικο$(14)

Και να δούμε τι χρησιμοποιεί η Μ2000:

Τύπωσε Μεσ$(Μορφή$("{0}",1.5),2,1)

Ενώ η εμφάνιση με την τύπωσε μπορεί να δώσει 12.4 ή αυτό 12,4 και ομοίως κάνει η συνάρτηση Μορφή$() που βάζει αριθμούς (και αλφαριθμητικά) σε ένα αλφαριθμητικό, η Γραφή$() πάντα εμφανίζει τα δεκαδικά με τελεία, και η συνάρτηση Τιμή() που δέχεται αλφαριθμητικά και εξάγει τιμή από αυτά - αν υπάρχει αριθμός, αναζητεί τελεία.

Τύπωσε Γραφή$(1.5)

τυπώνει 1.5 πάντα

Τύπωσε Τιμή("12,4"), Τιμή("12.4"), Τιμή(Γραφή$(12.4))

Δίνει
            12              12,4                 12,4
ή αν το τοπικό$(14) είναι τελεία ή έχουμε επιλέξει διακόπτη +DEC (από την αρχή αυτή είναι η επιλογή) τότε θα δούμε αυτό:
            12              12.4                 12.4

Ένα άλλο πράγμα που μας απασχολεί στην εμφάνιση με δεκαδικά είναι το πόσα δεκαδικά θα εμφανιστούν. 

Μπορούμε να χρησιμοποιήσουμε μια γενική εντολή π.χ. Τύπωσε $("######.00") ή ειδικές που μετατρέπουν τον αριθμό σε αλφαριθμητικό όπως εδώ:

Τύπωσε γραφή$(12.2343,"##.00",-10) \\ το μείον σημαίνει από δεξιά, το 10 πλάτος πεδίου
Τύπωσε μορφή$("{0:2:-10}",12.2343) \\ το ίδιο!
Τύπωσε μορφή$("Χ={0:2}, Υ={1:2}, Ζ={2:2}",12.2343, 3/4, 5/6)


(στο επόμενο τεύχος θα δούμε πολλά ακόμα, έχει πολλά τεχνικά η  Μ2000 για η χρήση της οθόνης)

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

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

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