Τρίτη 14 Ιουνίου 2016

Αναθεώρηση 5 (Έκδοση 8.2)

1. Λάθος που δημιούργησα από αβλεψία στη προηγούμενη (3) αναθεώρηση
Κατάσταση κα1
Προσθήκη κα1,2:="αλφα"
Τύπωσε κα1$("2"), κα1$(2), κα1$(0!), εκφρ$(κα1,0)
από λάθος σε  ένα νούμερο στο κώδικα (έκανα μια μετατροπή στην αναθεώρηση 3)  δεν έβγαινε το άλφα στα δυο πρώτα

2. Μια μικρή διόρθωση στο Modules ? (Τμήματα ?) όπου μετά από θερμή επανεκκίνηση (Αρχή "" ή Start "") όταν δίναμε την εντολή αντί να δούμε τα τμήματα κράσσαρε ο διερμηνευτής.
3. Μια μικρή διόρθωση στην εντολή Σωρός όπου εμφανίζονται όλα τα αντικείμενα σωστά στο σωρό τιμών (με την εμφάνιση είχαμε θέμα όχι με την λειτουργία:

Άδειασε
Πίνακας Α(10)
Κατάσταση Αλφα=1,2,3
Διάρθρωση Κενή Βήτα ως Μακρύς *10
Ομάδα Δέλτα {Χ=10}
Συνάρτηση Ζήτα {=100}
Γεγονός Κ {Διάβασε Χ}
Βάλε "οκ",Α(), Αλφα, Βήτα,Κ, Δελτα, Ζήτα()
Τύπωσε Μέγεθος.Σωρού
Σωρός
Τύπωσε Φάκελος$(), Ταύτιση("NGEBIAS"), Ταύτιση("ΑΟΕΔΚΠΓ") \\ Ε για γεγονός

Εδώ  είναι μια δεύτερη περίπτωση. Πάλι στο θέμα της εμφάνισης λέμε. Γιατί εδώ βάζουμε στο σωρό ένα αντικείμενο που δείχνει έμμεσα το αντικείμενο φόρμα, ώστε αν τύχει και βγούμε από το τμήμα και μείνει το αντικείμενο στο σωρό να μην δείξει φόρμα. Βέβαια υπάρχει το ρίσκο εδώ να δημιουργήσουμε κάτι άλλο και να δείχνει αυτό το άλλο, γατί το αντικείμενο που δημιουργεί είναι έμμεσο αλλά δεν ταυτίζεται με άλλο τρόπο, είναι ένας δείκτης σε μια θέση στο πίνακα μεταβλητών.
Άδειασε
Τμήμα κκ {
      όρισε φόρμα1 φορμα
      βάλε φόρμα1
      σωρός
      όρισε φόρμα1 τίποτα
}
κκ
Τύπωσε μέγεθος.σωρού
σωρός

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


Άδειασε
Τμήμα κκ {
      όρισε φόρμα1 φορμα
      βάλε φόρμα1
      σωρός
      όρισε φόρμα1 τίποτα
}
κκ
Όρισε φόρμα1 φορμα
Τύπωσε μέγεθος.σωρού
σωρός

ορισε φόρμα1 τίποτα

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

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

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