Σάββατο 12 Δεκεμβρίου 2015

Αναθεώρηση 114 - Βελτίωση!

Στην αναθεώρηση 114 έλυσα δυο μεγάλα θέματα:
1. Το For /Για επειδή το έχω μόνο με έλεγχο μεγαλύτερου ή μικρότερου ανάλογα τη κατεύθυνση για να αποφύγω την ισότητα - επειδή για να δουλέψει η ισότητα σε πραγματικούς πρέπει να έχουμε στρογγυλοποίηση. Για το λόγο αυτό κάνω προσθήκη στο τελικό όριο μιας ποσότητας (θετικής ή αρνητικής). Προς το παρόν τα τεστ δείχνουν ότι είναι οκ,

Για k=.1 Έως 10 ανα .1 {
      Για i=-6 Έως -20 Ανά k {
           if i<-20 then print i,k : a$=key$
      }
}

For i=-.45 To -4.23 Step .22
      Print i
Next i
Print -.45, -4.23, .22

Α=0
Για Ι = .3 Εως .1 Ανα .1
      Α++
      Τύπωσε Ι
Επομενο Ι
Τυπωσε Α, Ι \\ ΔΙΝΕΙ 3 ΚΑΙ 0 

Α=0
Για Ι = .1 Εως .3 Ανα .1
      Α++
      Επομενο Ι
Τύπωσε Α, Ι \\ ΔΙΝΕΙ 3 ΚΑΙ 0.4



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

3. Η προηγούμενη προσθήκη με την εξαγωγή φορμαρισμένου κειμένου σε αλφαριθμητικό ή έγγραφο, με την εντολή Αναφορά, τώρα γίνεται και για μερικές γραμμές που θέλουμε (πριν ήταν για όλο το κείμενο). Το παρακάτω πρόγραμμα το δείχνει. Το στοιχείο b$(2) θα πάρει 2 γραμμές (το -2 δηλώνει δυο πράγματα, ότι θέλουμε δυο γραμμές και ότι δεν θα γίνει εκτύπωση, και στις παλιές εκδόσεις απλά γραφόταν στο γραμμέςαναφοράς το πόσες γραμμές ήταν). Με το πρόσθετο "ως .." παίρνουμε το κείμενο σπασμένο. Δείτε το 15, αυτό αν είναι μικρό νούμερο (κάτω από το 300) το λαμβάνει σαν πλάτος σε χαρακτήρες - όπως οι θέσεις στην οθόνη που ορίζει η Φόρμα - εδώ 30Χ20 θέσεις. Αν βάλουμε μεγάλο νούμερο τότε το λαμβάνει ως twips, όπου 1440 twips είναι μια ίντσα στο χαρτί. Αν θέλουμε να τυπώσουμε σε χαρτί, στον εκτυπωτή δηλαδή μπορούμε να ορίσουμε πραγματικό πλάτος όπου θα γίνεται το φορμάρισμα. Το πρώτο νούμερο εδώ είναι 3, το 2 κεντράρει το κείμενο. Η αναφορά έχει τα 0,1,2,3 με πλήρης, δεξιά, κέντρο και αριστερή στοίχιση. Αν ορίσουμε πριν Πλάγια ή Φαρδιά ή Διπλά τότε θα έχουμε αλλαγή του τρόπου εμφάνισης (η φόρμα έχει θέσεις που τα φαρδιά και τα κανονικά μπαίνουν στην ίδια θέση, αλλά εδώ μόνο μας χρησιμεύει αυτό για την στοίχιση, γιατί η αναφορά τυπώνει με αναλογική γραφή.
Επιπλέον αν έχουν χρησιμοποιηθεί τόνοι χωριστοί θα τυπωθούν πάνω στα γράμματα και δεν θα λογαριαστούν σαν να έχουν χώρο δικό τους.
Η Μ2000 μπορεί να τυπώνει ότι γράμματα δώσουμε (την δεξιά γραφή αν και νομίζω την τυπώνει, αφού η ρουτίνα είναι ίδια, στη αναδίπλωση ασφαλώς θα πιάνει εκείνη που ήταν πρώτη στην εμφάνιση αλλά τελευταία στη σειρά στο αλφαριθμητικό - αυτό κάνει η δεξιά προς αριστερά γραφή, έχει το αλφαριθμητικό ανάποδα από τον τρόπο που το εμφανίζει! Ακόμα δεν το έχω δει το θέμα αυτό.

Φορμα 30,20
α$={Афинский институт русского языка имени А.С. Пушкина предоставляет услуги устного и письменного перевода с греческого на русский язык и с русского на греческий язык, а также с русского на английский язык и с английского на русский язык частным лицам, фирмам, представительствам, компаниям и организациям.}
Οθόνη
Πίνακας b$(20)
Αναφορά 3, α$, 15, -2 γραμμή 4 ως b$(2)
Αναφορά 3, α$, 15, -1000 ως b$(13)
Έγγραφο b$(13)
Έγγραφο b$(2)
Τύπωσε Εγγράφου.παρ(b$(13)), γραμμέςαναφοράς
Τύπωσε Εγγράφου.παρ(b$(2))
Α=Αληθές
για ι=1 εως γραμμέςαναφοράς
Φαρδια Α
      Α~
      Αν Α Τότε { Πένα 11 } Αλλιώς Πένα 12
Αναφορά 3, παραγραφος$(b$(13), ι)
Φαρδια 0
επόμενο ι
Αναφορά 2, b$(2)









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

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

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