14 Αναπαράσταση Κειμένου για Παρουσίαση.
Έχουμε δει στο κεφάλαιο 10 (τεύχος 19ο) το αντικείμενο έγγραφο. Το χρησιμοποιούμε όταν θέλουμε να κρατήσουμε ένα κείμενο και να κάνουμε διάφορες εργασίες εύκολα. Για την παρουσίαση του κειμένου, μπορούμε να δούμε το έγγραφο ως ένα αλφαριθμητικό ή να επιλέξουμε παραγράφους, και αυτές να τις δούμε ως ξεχωριστά αλφαριθμητικά. Η εντολή που μας επιτρέπει να πάρουμε μια αναπαράσταση του κειμένου με παραγράφους με αναλογική γραφή και με αναδίπλωση λέξεων είναι η Αναφορά.14.1. Αναπαράσταση-Rendering
Η αναπαράσταση του κειμένου είναι η μορφή του που βγαίνει στη οθόνη ή αλλού και έχει ιδιότητες όπως. η γραμματοσειρά, το μέγιστο πλάτος γραμμής εμφάνισης σε μονάδες της οθόνης (twips) ή σε σταθερούς χαρακτήρες, ο τρόπος στοίχισης, και οι οποίες δεν περιγράφονται από το αντικείμενο Έγγραφο, ή από ένα αλφαριθμητικό που μας παρέχει το κείμενο.Σχηματικά: Αντικείμενο Έγγραφο (παράγραφοι) ή Αλφαριθμητικό --> δίνει αναπαράσταση σε αντικείμενο εξόδου (Οθόνη, Εκτυπωτής) με επιπρόσθετες ιδιότητες. που δεν παρέχονται από αυτό, αλλά δίνονται ως επιλογές στην λειτουργία της αναπαράστασης.
Η αναπαράσταση (rendering) του κειμένου για παρουσίαση είναι έργο της εντολής Αναφορά. Αν ανοίξουμε το κείμενο στον διορθωτή, εκεί έχουμε μια άλλη αναπαράσταση, και το έργο της παρουσίασης μαζί με την παροχή εργαλείων για αλλαγή το κάνει ο διορθωτής.
Η Αναφορά όπως και όλες οι εντολές για εμφάνιση/αναπαράσταση δεδομένων, παίρνουν ως δεδομένο το τρέχον αντικείμενο εξόδου, Έχουμε δει για παράδειγμα την Τύπωσε να χρησιμοποιείται για αρχεία με τον "χειριστή" αρχείου, μια μεταβλητή με το σύμβολο # να προηγείται.. Ομοίως και η Γράψε στέλνει σε αρχεία με τον ίδιο τρόπο, αλλά με άλλη φόρμα (csv αρχεία). Σε αυτό το κεφάλαιο θα παραλείψουμε να δούμε τα Επίπεδα εμφάνισης, και θα υπολογίζουμε απλά το τρέχον ως αυτό της Οθόνης.
14.2 Απλή χρήση της εντολής Αναφορά
Οθόνη 1, 0 : Πένα 14
Αναφορά "Αριστερή Στοίχιση εξ ορισμού"
Θα πάρουμε το ίδιο αποτέλεσμα με αυτήν αν χωράει η γραμμή στο πλάτος οθόνης. Στο τμήμα Β δώστε αυτό:
Οθόνη 1, 0 : Πένα 14
Τύπωσε $(4),"Αριστερή Στοίχιση εξ ορισμού", $(0)
Δεν είναι όμως αληθές ότι δίνουν το ίδιο πράγμα σε όλες τις περιπτώσεις! Δώστε την παρακάτω εντολή:
Φόρμα 8,8
και μετά δώστε Α και μετά Β. Θα δείτε ότι η Αναφορά κάνει αναδίπλωση λέξης ενώ στη Β δεν έχουμε νέα γραμμή, το κείμενο κόβεται (έχει επεκταθεί η στήλη αλλά είναι εκτός οθόνης το υπόλοιπο μέρος της).
Άρα η αναφορά προϋποθέτει να σκεφτούμε πώς θα προετοιμάσουμε τη φόρμα μας, ή οθόνη μας, για να παραστήσει κατάλληλα το κείμενο.
14.3 Παράδειγμα προετοιμασίας φόρμας
Δώστε με την εντολή Φόρμα μια άλλη ανάλυση, π.χ. 40,25 ή 80,50 ή 100,50, ή 120,60 ή 60,30 (γενικά ζυγά νούμερα στο πλάτος. και ότι θέλουμε στο ύψος). Αν θέλουμε μηδενίζουμε το διάστιχο με την εντολή Διάστιχο 0 για να υπολογίσει η φόρμα νέο διάστιχο εκκινώντας από το μηδέν. Αν δεν θέλουμε να εφαρμόσει διάστιχο η οθόνη μας, και να δώσει το 60,30 που ζητάμε τότε βάζουμε το χαραρκτήρα ";" στο τέλος. Η οθόνη στη Μ2000 δεν είναι τόσο "σταθερή" και δεν καλύπτει πάντα όλη την επιφάνεια εργασίας: (δοκιμάστε να βγάλετε την δεύτερη γραμμή και τη σημείωση από την πρώτη)
Σημ 1 : Παράθυρο 12,8000,6000
Παράθυρο 12,0 \\ στο κέντρο με 12άρια γράμματα
Διάστιχο 0
Φόρμα 60,20;
α$=κομ$ \\ αναμονή για πλήκτρο
Φόρμα \\ εξαφανίζει το περιώριο
α$=κομ$
κίνηση.π , 0 \\ πάμε τη φόρμα στο πάνω μέρος της επιφάνειας εργασίας
α$=κομ$
\\ επαναφέρουμε το περιθώριο και την φόρμα στο μέσον της οθόνης
Φόρμα;
Παράθυρο 12,0 \\ στο κέντρο με 12άρια γράμματα
Διάστιχο 0
Φόρμα 60,20;
α$=κομ$ \\ αναμονή για πλήκτρο
Φόρμα \\ εξαφανίζει το περιώριο
α$=κομ$
κίνηση.π , 0 \\ πάμε τη φόρμα στο πάνω μέρος της επιφάνειας εργασίας
α$=κομ$
\\ επαναφέρουμε το περιθώριο και την φόρμα στο μέσον της οθόνης
Φόρμα;
Ένα εύλογο ερώτημα για τη Αναφορά είναι: Πώς θα δούμε ένα κείμενο που θα χρειαστεί για να βγει με αναδίπλωση λέξεων στη οθόνη έστω 100 γραμμές;
Ένα λοιπόν στοιχείο που δεν μπορεί να φανεί στο κείμενο εδώ είναι ότι η Αναφορά διαχειρίζεται την κύλιση των γραμμών της οθόνης (ή αλλαγή σελίδας στον εκτυπωτή). Όπως έχουμε δει η οθόνη μπορεί να έχει ένα τμήμα μόνο και αυτό να ολισθαίνει, να χάνονται γραμμές, ή δυο τμήματα όπου το κάτω μόνο ολισθαίνει (λειτουργία χωριστής οθόνης),
Η λειτουργία της αναφοράς στην οθόνη ελέγχει τον αριθμό κυλίσεων και αν πάνε να περάσουν τα 4/5 του τμήματος που μπορεί να ολισθαίνει τότε σταματάει και μπαίνει σε μια επανάληψη μέχρι να πατήσουμε διάστημα ή τον δείκτη του ποντικιού.
Παράλληλα αφήνει το σύστημα να τρέχουν νήματα, άρα ουσιαστικά μόνο η έξοδος σε ένα επίπεδο και σε ένα νήμα σταματάει (μπορεί κάποιο άλλο νήμα να γράφει στο σταθερό τμήμα),
Με το πλήκτρο Esc σταματάμε την εξαγωγή γραμμών.Για να δούμε πάλι γραμμές που "χάθηκαν" γίνεται με τη χρήση της Αναφοράς και πρόγραμμα που θα φτιάξουμε για να ελέγχουμε την εμφάνιση γραμμών.
14.3.1 Λίστα και Τμήματα
Την Αναφορά χρησιμοποιούν εσωτερικά οι εντολές Λίστα και Τμήματα, και αν περάσουν τα 4/5 τότε σταματάνε και περιμένουν την επέμβαση του χρήστη. Η Λίστα κανονικά τυπώνει με μη αναλογική γραφή (χωρίς χρήση της αναφοράς) αλλά με το σύμβολο "!" δίνει εξαγωγή με αναλογική γραφή.
Η Λίστα τυπώνει τις μεταβλητές που έχουμε ορίσει, ανεξάρτητα αν τις βλέπει η όχι το τμήμα του κάλεσε τη εντολή αυτή, εκτός των ιδιωτικών και των "αυτόματων" μεταβλητών (τεχνικός όρος για τις ιδιότητες κλειστού αντικειμένου που ανοίγει πρόσκαιρα, και τοποθετεί τις τιμές τους σε αυτόματες μεταβλητές, με όνομα)
Σε μια γραμμή η επίδειξη της κρυμμένης αυτόματης μεταβλητής (το Β δεν έχει κρυμμένη την α αλλά το Α(3) που είναι κλειστό αντικείμενο, ναι). Γράψτε σε ένα τμήμα έστω Α:
Κλάση Άλφα { α=10} : Πίνακας Α(10)=Άλφα() : Β=Άλφα() : Για Α(3), Β { Τύπωσε .α, ..α : Λίστα ! }
Η εντολή Τμήματα βγαίνει και με Ctrl+Μ για τα τμήματα στη μνήμη και στο δίσκο και Ctrl+N για τα τμήματα στη μνήμη(τα φορτωμένα τμήματα ή γραμμένα εκείνη τη στιγμή, τότε δείχνει τα τμήματα στο δίσκο).
14.4 Επιμέτρηση Κειμένου
Στο παράδειγμά μας θα χρειαστούμε κείμενο! Αυτό μπορούμε να το πάρουμε από το κείμενο εδώ και η Μ2000 να το πάρει από το πρόχειρο!
α$=Πρόχειρο$
Αναφορά α$
ή (προσοχή γιατί το = στο έγγραφο είναι "προσθήκη" και όχι αντιγραφή)
Έγγραφο α$=πρόχειρο$
Αναφορά α$
ή για το παράδειγμά μας:
Πρόχειρο {Άλφα
Βήτα
Γάμα
}
Οθόνη 1,0 : Πένα 14
Έγγραφο α$=πρόχειρο$
Αναφορά α$,πλάτος,-1000
Τύπωσε ΓραμμέςΑναφοράς
\\ γράφει 3 παραγράφους και δίνει τρεις αλλαγές γραμμών
\\ γιατί λόγω του μικρού μήκους (μια λέξη είναι μόνο)
\\ δεν έχουμε αναδίπλωση λέξεων άρα νέες γραμμές.
Αναφορά α$
14.5 Επιλογή στοίχισης
Τύπωσε Υπό \\ μια οριζόντια γραμμή να χωρίσουμε το κείμενο
Για ι=0 έως 3
Αναφορά ι, α$
Επόμενο ι
Τα 0 και 3 φαίνονται ίδια επειδή έχουμε μια λέξη μόνο στο παράδειγμα, αλλά το 0 είναι η πλήρης στοίχιση (και αριστερά και δεξιά) η οποία γίνεται στην τελευταία γραμμή παραγράφου αριστερή στοίχιση. Το 2 είναι η στοίχιση στο κέντρο και το 1 η δεξιά στοίχιση.
14.5 Επιλογή Πλάτους Γραμμής (και σε twips)
Είδαμε στο 14.4, για τον υπολογισμό γραμμών αναπαράστασης κειμένου δυο νούμερα, το ένα το πλάτος και το άλλο το -1000. Το πρώτο λέει για το πλάτος γραμμής και μπορούμε να δώσουμε μικρή τιμή που λογαριάζεται για μήκος χαρακτήρα οθόνης, ή μεγάλη τιμή (>200) που λογαριάζεται ως Twips. Στην οθόνη έχουμε τα λογικά twips, ενώ στον εκτυπωτή, στη σελίδα του, είναι πραγματικά, δηλαδή 1440 twips είναι 1 ίντσα. Δηλαδή σε εκτύπωση η Μ2000 μπορεί να μετράει σε πραγματικές διαστάσεις - και με τα γραφικά και με το πλάτος κειμένου της Αναφοράς).
Μπορούμε να ξέρουμε το μήκος ενός αλφαριθμητικού, αλλά λογαριάζεται χωρίς αναδίπλωση. Αν υπάρχουν αλλαγές γραμμών θα αφαιρεθούν πριν τον υπολογισμό, οπότε ας μετράμε μία μόνο παράγραφο. (υπάρχει και η Μέγεθος.Υ() που μετράει ύψος. Επίσης και οι δύο παίρνουν μία ακόμα παράμετρο, την γωνία σε ακτίνια (δουλεύουμε με το Πι, 2*Πι είναι ο κύκλος, Πι ο μισός κύκλος, Πι/2 το τεταρτημόριο, άρα έχουμε κάθετο το κείμενο.). Η αναφορά δεν περιστρέφει το κείμενο. Η περιστροφή γίνεται με την εντολή Επιγραφή.(δες 13.11).
Εδώ απλά αναφέρθηκε ο τρόπος μέτρησης σε twips για να δούμε ότι στο κείμενο δεν μας κάνει!
Επειδή στην Αναφορά έχουμε αναδίπλωση αν μια λέξη δεν μπορεί να γραφτεί όλη στη γραμμή.
Εδώ απλά αναφέρθηκε ο τρόπος μέτρησης σε twips για να δούμε ότι στο κείμενο δεν μας κάνει!
Επειδή στην Αναφορά έχουμε αναδίπλωση αν μια λέξη δεν μπορεί να γραφτεί όλη στη γραμμή.
Α$="Μέτρησέ με"
\\ Τύπος εδώ είναι το μέγεθος της γραμματοσειράς
Τύπωσε Μέγεθος.Χ(Α$, Γραμματοσειρά$, Τύπος)
\\ Τύπος εδώ είναι το μέγεθος της γραμματοσειράς
Τύπωσε Μέγεθος.Χ(Α$, Γραμματοσειρά$, Τύπος)
Η επιλογή του πλάτους γίνεται για να καθορίσουμε το δεξί περιθώριο, το όριο δηλαδή όπου από κει και μετά δεν θα γράφει η Αναφορά, αλλά θα αλλάζει γραμμή.
Για το αριστερό περιθώριο η Αναφορά κοιτάει τη θέση του δρομέα και εμφανίζει από εκεί. Αν έχουμε βάλει θέση δρομέα 5 και δώσουμε αναφορά με χρήση πλάτους όσο το πλάτος της οθόνης θα χάσουμε πλάτος ίσο με 5 χαρακτήρες από το κείμενο. Αν θέλουμε να είμαστε εντάξει τότε θα κόψουμε από το πλάτος τουλάχιστον 5 χαρακτήρες.
Για το αριστερό περιθώριο η Αναφορά κοιτάει τη θέση του δρομέα και εμφανίζει από εκεί. Αν έχουμε βάλει θέση δρομέα 5 και δώσουμε αναφορά με χρήση πλάτους όσο το πλάτος της οθόνης θα χάσουμε πλάτος ίσο με 5 χαρακτήρες από το κείμενο. Αν θέλουμε να είμαστε εντάξει τότε θα κόψουμε από το πλάτος τουλάχιστον 5 χαρακτήρες.
14.6 Εμφάνιση Κειμένου από μια γραμμή αναπαράστασης και μετά
Η δεύτερη παράμετρος στον υπολογισμό γραμμών (στο 14.4), το -1000 έχει δυο συστατικά, το μείον που δηλώνει - μην εκτυπώσεις απλά μέτρα και γράψε το αποτέλεσμα στο Γραμμές.Αναφοράς, και το άλλο ένα όριο γραμμών. Με 1000 είμαστε καλυμμένοι.
Τώρα που έχουμε την μέτρηση μπορούμε να ζητήσουμε μια γραμμή ή καλύτερα μια σειρά γραμμών:
Α$ = {Άλφα
Βήτα
Γάμα
}
Αναφορά 3, Α$, πλάτος, 1000 Γραμμή 2
Βήτα
Γάμα
}
Αναφορά 3, Α$, πλάτος, 1000 Γραμμή 2
Ασφαλώς αντιλαμβάνεται ο αναγνώστης ότι οι γραμμές έχουν να κάνουν με την συγκεκριμένη αναπαράσταση, με τις ιδιότητες της οθόνης, κ.ο.κ. Για το ίδιο κείμενο οι γραμμή 2 θα δώσει άλλο αποτέλεσμα αν έχουμε άλλη αναπαράσταση. Προσθέστε στο προηγούμενο αυτό:
Τύπωσε Υπό \\ μια γραμμή διαχωρισμού!
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Αυτό που αλλάξαμε είναι το πλάτος, το κάναμε 2 χαρακτήρες μη αναλογικής γραφής. Επειδή τυπώνουμε με αναλογική γραφή μπορούν να γραφτούν τρεις χαρακτήρες αρκεί να χωράνε! Θα πάρουμε από το φα και κάτω, και μάλιστα όχι μια ή δύο γραμμές. Αυτό που αλλάζει τον αριθμό γραμμών δεν είναι η στοίχιση (το πρώτο νούμερο, πριν το αλφαριθμητικό), αλλά το πλάτος γραμμής, και φυσικά παίζουν.
Δείτε εδώ ένα πρόγραμμα όπου επιλέγουμε μια μικρή οθόνη, για να γράψουμε με διαφορετική γραμματοσειρά, με διαφορετικό τρόπο (μάλιστα κρατάμε τον παλιό τρόπο σε τρεις μεταβλητές).
Γραμματοσειρά "Comic sans ms"
\\Γραμματοσειρά "Arial"
Τύπος 15, 8000,10000
Α$ = {Άλφα
Βήτα
Γάμα
}
Αναφορά 3, Α$, πλάτος, 1000 Γραμμή 2
Τύπωσε Υπό \\ μια γραμμή διαχωρισμού!
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Τύπωσε Υπό \\ μια γραμμή διαχωρισμού!
κ$=γραμματοσειρά$
μ=Φαρδιά
ν=Πλάγια
γραμματοσειρά "Arial Black"
Πλάγια 1 : Φαρδια 0
Τύπωσε
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Τύπωσε
γραμματοσειρά κ$
Φαρδιά μ
Πλάγια ν
Τύπωσε "οκ", γραμματοσειρά$
Τα "κενά" για να πραγματοποιηθεί η αναδίπλωσης λέξης είναι το διάστημα και η κάτω παύλα. Αν δηλαδή μια μεγάλη λέξη έχει μέσα την κάτω παύλα και αναγκαστεί να αναδιπλώσει την λέξη το σύστημα, τότε θα αφήσει την παύλα ως τελευταίο χαρακτήρα και θα συνεχίσει με την λέξη μετά.
Υπάρχουν κενά που τα βλέπουμε κενά ενώ δεν είναι, δεν τα λογαριάζει για κενά αλλά για χαρακτήρες. Όταν είμαστε στον ενσωματωμένο διορθωτή κειμένου τότε με F10 αλλάζουμε τον τρόπο προβολής (αναπαράστασης) σε σχέση με τους εκτυπώσιμους και μη χαρακτήρες. Αν δείχνουμε τους μη εκτυπώσιμους τότε εμφανίζεται μια τελεία στο διάστημα, το σύμβολο της αλλαγής παραγράφου όπου υπάρχει αλλαγή παραγράφου. Αν δούμε ένα διάστημα ενώ είμαστε σε προβολή μη εκτυπώσιμων χαρακτήρων τότε αυτό είναι ένα διάστημα που δεν σπάει δυο λέξεις αν είναι ανάμεσά τους Μπορούμε να περάσουμε τέτοιο διάστημα για να κάνουμε δυο λέξεις να είναι πάντα στην ίδια γραμμή!Ο συνδυασμός είναι Shift Ctrl Space και το βλέπουμε με F10 προβολή συμβόλων παραγράφων ως κανονικό διάστημα. Ένα ακόμα τύπο διαστήματος υποστηρίζει ο διορθωτής, και είναι το διάστημα πλάτους αριθμών. Αυτό εμφανίζεται στην προβολή συμβόλων παραγράφων ως κάτω παύλα με γωνίες. Αυτά τα διαστήματα αριθμών μπαίνουν στο κείμενο με Shift Alt Space.
Το παρακάτω παράδειγμα αποτελεί συνάμα και πρόγραμμα ελέγχου "συμβατών' γραμματοσειρών. Δυστυχώς όλες οι γραμματοσειρές δεν έχουν τις ίδιες ιδιότητες και η αναπαράστασή τους από τα Windows, μπορεί να μην είναι η αναμενόμενη βάσει ανάγνωσης ιδιοτήτων. Ίσως αυτό γίνεται για λόγους κλειδώματος (οι γραμματοσειρές πουλιούνται, και ίσως ορισμένες τις χρησιμοποιεί κάποιο πρόγραμμα και για το λόγο αυτό της έχει πειραγμένες). Μια τέτοια γραμματοσειρά είναι η Comic Sans Ms, την οποία μπορεί να χρησιμοποιήσει η Μ2000 αφού έχει ρυθμιστεί να το κάνει. Όμως ίσως να υπάρχουν άλλες που να δημιουργούν κάποιο πρόβλημα (ειδικά στην Τύπωσε και σε ορισμένες επιλογές). Το πρόβλημα παίζει με αυτό που λέγεται Kerning. Η M2000 χρησιμοποιεί ρουτίνες του λειτουργικού που μετράνε σωστά το Kerning αν είναι σωστά περασμένο στην γραμματοσειρά. Οι ιδιωτικές γραμματοσειρές έχουν πειραγμένο το Kerning, και προφανώς με κάποιο τρόπο ή το αφαιρούν ή περνούν το σωστό. To Kerning είναι ο τρόπος να συμπτυχθούν τα γράμματα ώστε να καλύπτουν δυο συνεχόμενα γράμματα κοινό μήκος. Π.χ. αυτό το ζευγάρι γραμμάτων fj έχει εμφανέστατο Kerning, το f γέρνει πάνω από το j και το j φτάνει κάτω από το f.
Στο παράδειγμα παρακάτω έχουμε τρεις επιλογές για γραμματοσειρά. Η λέξη Γιώργος έχει κάτι το "εξαιρετικό", δεν έχει το ωμέγα με τόνο αλλά ένα ωμέγα και έναν τόνο χωριστά! Ο τόνος ανήκει στα Diacritics και μπήκε με Alt 769 ή το Alt +301(και το + πατάμε σαν να είναι ψηφίο, είναι δεκαεξαδικό το 301) αμέσως μετά το ωμέγα.
Τύπωσε Μήκος("Γιώργος") \\ τυπώνει 8 χαρακτήρες
Τύπωσε Μήκος.Εμφ("Γιώργος") \\ τυπώνει 7 χαρακτήρες
Τύπωσε Μέγεθος.Χ("Γιώργος", Γραμματοσειρά$, Τύπος) \ 1470 - ενδεικτικό
\\ θα δώσει το ίδιο με το Γιώργος χωρίς το diactrics alt 769 ή alt +301
Στο πρόγραμμα παρακάτω μπορούμε να αλλάξουμε το πλάτος στήλης. (από τέσσερα και πάνω)
(Σε Linux με Wine μόνο στα Times φαίνεται σωστά ο τόνος στο ωμέγα, ενώ στις άλλες γραμματοσειρές ή δεν υπάρχει ή επιστρέφει ως τόνο χωρίς να δώσει την ιδιότητα του diactric που κύρια είναι ότι δεν μεταθέτει τον δρομέα, έχει δηλαδή πλάτος μηδέν)
Σημ 1 : Γραμματοσειρά "Times New Roman"
Σημ 2: Γραμματοσειρά "Comic Sans MS"
Γραμματοσειρά "Courier New"
Φαρδια 1
Στη στ=6, εναλ=Αληθής
Φόρμα (80 δια στ)*στ,32
Οθόνη 5
Πένα 14
Για ι=0 εως Πλάτος-1 ανα στ {
Αν εναλ τότε {
Τυπωσε @(ι,0,ι+στ,Ύψος,#222222,3),
} Αλλιώς Τυπωσε @(ι,0,ι+στ,Ύψος,5,3),
εναλ~
}
Για ι=2 έως Ύψος-2
Δρομέας 0, ι
Πένα 2 { Τύπωσε υπο }
Επόμενο ι
Τύπωσε @(0,2), \\ Δρομέας 0,2
Για ι=0 Έως 9 {
Τύπωσε $(ι, στ),145355, 34.23432,34.222, ~(10,2, 2-12*(ι=8)), "aaa",~(14),"bb"
Τύπωσε 145355,"Αλφαριθμητικό",34.222, "Γιώργος", 10, ι
Τύπωσε $(0), ' για να το επαναφέρουμε
}
Τύπωσε $(";Αληθές;Ψευδές;"), 0,-1, Αληθές, Ψευδές, "A">" ", "*"
Τυπωσε $(""), Αληθές, "*οκ"
Τύπωσε μέρος @(στήλη*2), $(6,στ*2),~(10,2),"Διπλή στήλη",$(4,στ), ~(14), 1000
Πένα 2 { Τύπωσε υπο }
Τύπωσε μέρος @(στήλη*2), $(6,στ*3),~(10,2),"Αυτή είναι τριπλή στήλη",$(4,στ),~(14), "ok"
Για ι=0 εως 1 { Δρομέας 0,ι : Τύπωσε Πάνω ~(14,7,7), }
Δρομέας 0,0
Διπλα : Φαρδιά 1
Πένα 15 { Αναφορά 2, "Παράδειγμα με τις εντολές Τύπωσε & Αναφορά"}
Πένα 2 { Τύπωσε υπο }
Κανονικά : Φαρδια
Τύπωσε @(Στήλη(8),15, Στήλη(11),30,#222222, 2),
Τύπωσε @(Στήλη(8),4, Στήλη(11),14,#222222, 2),
Κείμενο$={ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
}
Πένα 7 {
Αναφορά κειμενο$, Στήλη*3, 10
Δρομέας Στήλη(8), 16
Αναφορά κειμενο$, Στήλη*3, 14 Γραμμή 12
}
Πένα 13 {
Δρομέας Στήλη(8), 15
Αναφορά κειμενο$, Στήλη*3, 1 Γραμμή 11
}
Δρομέας 0,Ύψος-2
κάτι$=Κομ$
Δείτε εδώ ένα πρόγραμμα όπου επιλέγουμε μια μικρή οθόνη, για να γράψουμε με διαφορετική γραμματοσειρά, με διαφορετικό τρόπο (μάλιστα κρατάμε τον παλιό τρόπο σε τρεις μεταβλητές).
Γραμματοσειρά "Comic sans ms"
\\Γραμματοσειρά "Arial"
Τύπος 15, 8000,10000
Α$ = {Άλφα
Βήτα
Γάμα
}
Αναφορά 3, Α$, πλάτος, 1000 Γραμμή 2
Τύπωσε Υπό \\ μια γραμμή διαχωρισμού!
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Τύπωσε Υπό \\ μια γραμμή διαχωρισμού!
κ$=γραμματοσειρά$
μ=Φαρδιά
ν=Πλάγια
γραμματοσειρά "Arial Black"
Πλάγια 1 : Φαρδια 0
Τύπωσε
Αναφορά 3, Α$, 2, 1000 Γραμμή 2
Τύπωσε
γραμματοσειρά κ$
Φαρδιά μ
Πλάγια ν
Τύπωσε "οκ", γραμματοσειρά$
14.7. Χειρισμός αναδίπλωσης λέξεων
Έχουμε αντιληφθεί ότι η εντολή αναφορά κόβει το κείμενο σε γραμμές βάσει των επιλογών μας, και δεν επιτρέπει την κοπή λέξης σε δυο γραμμές (εκτός και σν η λέξη έχει πλάτος μεγαλύτερο του πλάτους της γραμμής της παράστασης). Το ερώτημα είναι αν μπορούμε να προκαθορίσουμε με κάποιο τρόπο τον χωρισμό ή μη λέξεων!Τα "κενά" για να πραγματοποιηθεί η αναδίπλωσης λέξης είναι το διάστημα και η κάτω παύλα. Αν δηλαδή μια μεγάλη λέξη έχει μέσα την κάτω παύλα και αναγκαστεί να αναδιπλώσει την λέξη το σύστημα, τότε θα αφήσει την παύλα ως τελευταίο χαρακτήρα και θα συνεχίσει με την λέξη μετά.
Υπάρχουν κενά που τα βλέπουμε κενά ενώ δεν είναι, δεν τα λογαριάζει για κενά αλλά για χαρακτήρες. Όταν είμαστε στον ενσωματωμένο διορθωτή κειμένου τότε με F10 αλλάζουμε τον τρόπο προβολής (αναπαράστασης) σε σχέση με τους εκτυπώσιμους και μη χαρακτήρες. Αν δείχνουμε τους μη εκτυπώσιμους τότε εμφανίζεται μια τελεία στο διάστημα, το σύμβολο της αλλαγής παραγράφου όπου υπάρχει αλλαγή παραγράφου. Αν δούμε ένα διάστημα ενώ είμαστε σε προβολή μη εκτυπώσιμων χαρακτήρων τότε αυτό είναι ένα διάστημα που δεν σπάει δυο λέξεις αν είναι ανάμεσά τους Μπορούμε να περάσουμε τέτοιο διάστημα για να κάνουμε δυο λέξεις να είναι πάντα στην ίδια γραμμή!Ο συνδυασμός είναι Shift Ctrl Space και το βλέπουμε με F10 προβολή συμβόλων παραγράφων ως κανονικό διάστημα. Ένα ακόμα τύπο διαστήματος υποστηρίζει ο διορθωτής, και είναι το διάστημα πλάτους αριθμών. Αυτό εμφανίζεται στην προβολή συμβόλων παραγράφων ως κάτω παύλα με γωνίες. Αυτά τα διαστήματα αριθμών μπαίνουν στο κείμενο με Shift Alt Space.
14.8 Παράδειγμα χρήσης Tύπωσε και Αναφοράς
Στο παράδειγμα παρακάτω έχουμε τρεις επιλογές για γραμματοσειρά. Η λέξη Γιώργος έχει κάτι το "εξαιρετικό", δεν έχει το ωμέγα με τόνο αλλά ένα ωμέγα και έναν τόνο χωριστά! Ο τόνος ανήκει στα Diacritics και μπήκε με Alt 769 ή το Alt +301(και το + πατάμε σαν να είναι ψηφίο, είναι δεκαεξαδικό το 301) αμέσως μετά το ωμέγα.
Τύπωσε Μήκος("Γιώργος") \\ τυπώνει 8 χαρακτήρες
Τύπωσε Μήκος.Εμφ("Γιώργος") \\ τυπώνει 7 χαρακτήρες
Τύπωσε Μέγεθος.Χ("Γιώργος", Γραμματοσειρά$, Τύπος) \ 1470 - ενδεικτικό
\\ θα δώσει το ίδιο με το Γιώργος χωρίς το diactrics alt 769 ή alt +301
Στο πρόγραμμα παρακάτω μπορούμε να αλλάξουμε το πλάτος στήλης. (από τέσσερα και πάνω)
(Σε Linux με Wine μόνο στα Times φαίνεται σωστά ο τόνος στο ωμέγα, ενώ στις άλλες γραμματοσειρές ή δεν υπάρχει ή επιστρέφει ως τόνο χωρίς να δώσει την ιδιότητα του diactric που κύρια είναι ότι δεν μεταθέτει τον δρομέα, έχει δηλαδή πλάτος μηδέν)
Σημ 1 : Γραμματοσειρά "Times New Roman"
Σημ 2: Γραμματοσειρά "Comic Sans MS"
Γραμματοσειρά "Courier New"
Φαρδια 1
Στη στ=6, εναλ=Αληθής
Φόρμα (80 δια στ)*στ,32
Οθόνη 5
Πένα 14
Για ι=0 εως Πλάτος-1 ανα στ {
Αν εναλ τότε {
Τυπωσε @(ι,0,ι+στ,Ύψος,#222222,3),
} Αλλιώς Τυπωσε @(ι,0,ι+στ,Ύψος,5,3),
εναλ~
}
Για ι=2 έως Ύψος-2
Δρομέας 0, ι
Πένα 2 { Τύπωσε υπο }
Επόμενο ι
Τύπωσε @(0,2), \\ Δρομέας 0,2
Για ι=0 Έως 9 {
Τύπωσε $(ι, στ),145355, 34.23432,34.222, ~(10,2, 2-12*(ι=8)), "aaa",~(14),"bb"
Τύπωσε 145355,"Αλφαριθμητικό",34.222, "Γιώργος", 10, ι
Τύπωσε $(0), ' για να το επαναφέρουμε
}
Τύπωσε $(";Αληθές;Ψευδές;"), 0,-1, Αληθές, Ψευδές, "A">" ", "*"
Τυπωσε $(""), Αληθές, "*οκ"
Τύπωσε μέρος @(στήλη*2), $(6,στ*2),~(10,2),"Διπλή στήλη",$(4,στ), ~(14), 1000
Πένα 2 { Τύπωσε υπο }
Τύπωσε μέρος @(στήλη*2), $(6,στ*3),~(10,2),"Αυτή είναι τριπλή στήλη",$(4,στ),~(14), "ok"
Για ι=0 εως 1 { Δρομέας 0,ι : Τύπωσε Πάνω ~(14,7,7), }
Δρομέας 0,0
Διπλα : Φαρδιά 1
Πένα 15 { Αναφορά 2, "Παράδειγμα με τις εντολές Τύπωσε & Αναφορά"}
Πένα 2 { Τύπωσε υπο }
Κανονικά : Φαρδια
Τύπωσε @(Στήλη(8),15, Στήλη(11),30,#222222, 2),
Τύπωσε @(Στήλη(8),4, Στήλη(11),14,#222222, 2),
Κείμενο$={ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
}
Πένα 7 {
Αναφορά κειμενο$, Στήλη*3, 10
Δρομέας Στήλη(8), 16
Αναφορά κειμενο$, Στήλη*3, 14 Γραμμή 12
}
Πένα 13 {
Δρομέας Στήλη(8), 15
Αναφορά κειμενο$, Στήλη*3, 1 Γραμμή 11
}
Δρομέας 0,Ύψος-2
κάτι$=Κομ$
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.