Ασφάλεια:
DEP Η Μ2000 τρέχει και όταν έχουμε το Data Execution Prevention ενεργό για όλα τα προγράμματα. Αυτό το χαρακτηριστικό δηλώνει ότι δεν μπορεί να τρέξει κώδικας μέσα στην εφαρμογή (περιβάλλον Μ2000, εκτελέσιμα m2000.exe m2000.dll) για να αλλοιώσει τον τρόπο εκτέλεσής του.
Εγκατάσταση:
1. Πιστοποιητικό (Ψηφιακή Υπογραφή)
Αν έχουμε κατεβάσει και εγκαταστήσει ήδη το πιστοποιητικό ca.crt τότε πάμε στο δεύτερο μέρος.
Η εγκατάσταση Περ. Μ2000 μπορεί να γίνει και χωρίς την εγκατάσταση του πιστοποιητικού.
Αφού κατεβάσουμε το πιστοποιητικό, το επιλέγουμε και από το σχετιζόμενο μενού επιλογών (context drop down list) επιλέγουμε το Εγκατάσταση Πιστοποιητικού
Θα μας αναφέρει ότι ο εκδότης είναι άγνωστος. Επιλέγουμε Άνοιγμα.
Θα μας ρωτήσει για την θέση αποθήκευσης. Δηλώστε κατά προτίμηση Τρέχον Χρήστης (ως έχει δηλαδή), αλλά οποιαδήποτε επιλογή εδώ δεν παίζει ρόλο.
Θα μας ρωτήσει για τον χώρο αποθήκευσης. Αυτό δηλώνει και τη χρήση του. Εδώ πρέπει να επιλέξουμε τη δεύτερη επιλογή Τοποθέτηση όλων των πιστοποιητικών στο παρακάτω χώρο αποθήκευσης, και αμέσως επιλέγουμε το Αναζήτηση. Εδώ μετράει η σωστή επιλογή: Αξιόπιστες Κεντρικές αρχές έκδοσης πιστοποιητικών, το επιλέγουμε επιστρέφουμε και πατάμε επόμενο. Μας λέει ότι έγινε η καταχώρηση και πατάμε τέλος. Μπορούμε να το κάνουμε όσες φορές θέλουμε, δεν αλλάζει κάτι.
Αυτό το πιστοποιητικό πιστοποιεί το Μ2000 πιστοποιητικό που υπάρχει στο αρχείο εγκατάστασης, και στα m2000.exe, m2000.dll, καθώς και το αρχείο απεγκατάστασης.
Αν πάμε στο M2000language.exe και δούμε τις ιδιότητες, και ειδικότερα τη καρτέλα Ψηφιακές Υπογραφές, θα δούμε στη Λίστα υπογραφών το όνομα υπογραφής Μ2000. Αν τώρα το επιλέξουμε και επιλέξουμε το πλήκτρο Λεπτομέρειες τότε ανοίγει μια ακόμα φόρμα διαλόγου με δυο καρτέλες, μια Γενικά με όνομα Μ2000, ηλ. διεύθυνση, χρόνος υπογραφής (δεν υπάρχει) καθώς και ένα πλήκτρο Προβολή πιστοποιητικού. Εκεί, στην καρτέλα Γενικά, μας αναφέρει το σκοπό του πιστοποιητικού:
- Βεβαίωση ότι το λογισμικό προέρχεται από εκδότη λογισμικού
- Προστατεύει το λογισμικό από αλλοίωση μετά τη δημοσίευση
Καθώς και τα:
Κάτοχος: Μ2000Εκδόθηκε από: GEORGE KARRASΈγκυρο από 11/8/2019 έως 27/12/2046
Στη καρτέλα Διαδρομή πιστοποίησης εμφανίζεται το Μ2000 πιστοποιητικό κάτω από το GEORGE KARRAS (το πιστοποιητικό κεντρικής αρχής έκδοσης, το οποίο δεν έχει κάποιο άλλο πάνω από αυτό, και είναι αυτό που βάλαμε από το ca.crt). Αν επιλέξουμε την ρίζα (GEORGE KARRAS) και αμέσως μετά το Προβολή Πιστοποιητικού θα πάρουμε νέο διάλογο με καρτέλα Γενικά που περιέχει:
Κάτοχος: GEORGE KARRASΕκδόθηκε από: GEORGE KARRASΈγκυρο από 11/8/2019 έως 7/8/2119
Στη καρτέλα Διαδρομή πιστοποίησης εμφανίζεται μόνο το GEORGE KARRAS. Στη καρτέλα λεπτομέρειες το πεδίο Βασικοί περιορισμοί έχει τιμή: Τύπος θέματος=Αρχή έκδοσης πιστοποιητικών, ενώ το πεδίο Δημόσιο κλειδί έχει τιμή RSA (4096 Bits). Τέλος το πεδίο Αριθμός σειράς έχει τιμή 00beed874d17869b79.
Όταν πάμε να το κατεβάσουμε μας λέει το google drive ότι δεν έχει κάνει έλεγχο για ιούς. Επίσης όταν το κατεβάσουμε μας λένε τα windows ότι μάλλον έχει θέμα το αρχείο. Αυτό συμβαίνει γιατί ο κώδικας που έχει η Μ2000 κάνει πολλές εργασίες (μεγάλη χρήση του λειτουργικού συστήματος), και "φαντάζει" στο σύστημα ότι μπορεί να είναι ιος. Επειδή όμως υπάρχει το πιστοποιητικό είναι σίγουρο ότι δεν έχει αλλαχτεί ο κώδικας, και εξ ορισμού δεν είχε ιό πριν μπει στο αρχείο εγκατάστασης (φτιάχνεται με το Inno Setup Compiler). Θέτουμε από τις ιδιότητες, καρτέλα Γενικά, στο αρχείο M2000language.exe το τσεκάρισμα στο Άρση Αποκλεισμού.
Στο τέλος της εγκατάστασης είναι προγραμματισμένο να τρέξει το περιβάλλον της γλώσσας εκτός και να το αποεπιλέξουμε (μας δείχνει το πρόγραμμα εγκατάστασης κουτάκι γι' αυτό). Για να κλείσει το περιβάλλον γράφουμε ΤΕΛΟΣ ή στα αγγλικά END και πατάμε Enter.
Στο αρχείο εγκατάστασης μπήκε εκτός από το αρχείο προγραμμάτων info.gsb και δύο εγχειρίδια, ένα αγγλικό και ένα ελληνικό. Κατά την εγκατάσταση στο Έναρξη - Προγράμματα υπάρχει μενού Μ2000 με επιλογές για τα εγχειρίδια. Και τα δύο είναι σε pdf τα οποία όμως ανοίγουν σε libreoffice για διορθώσεις σαν odt αρχεία.
Για την χρήση του info.gsb ακολουθήστε τις οδηγίες παρακάτω με κίτρινο χρώμα.
Την πρώτη φορά δίνουμε εντολές όπως:
Dir Appdir$
Load Info
και μόλις φορτώσει πατάμε το F1 (κάνει αποθήκευση όλων των προγραμμάτων που φόρτωσε το info, στο φάκελο του χρήστη).
Την επόμενη φορά που θα τρέξουμε τη γλώσσα (το περιβάλλον της, μπορεί να τρέχει περισσότερες από μια φορά ταυτόχρονα), θα γράψουμε load info και θα φορτωθεί από τον φάκελο χρήστη.
Γράφουμε Τέλος και πατάμε enter για να κλείσει το περιβάλλον της γλώσσας.
3. Μενού M2000 στα Προγράμματα στην 'Εναρξη
Από μενού Μ2000 τρέχουμε τη γλώσσα. Μπορούμε να επιλέξουμε το readme.txt ή ένα από τα δυο εγχειρίδια, ένα αγγλικό και ένα ελληνικό (δεν είναι ταυτόσιμα, δηλαδή δεν είναι το ένα μετάφραση του άλλου). Και τα δύο εγχειρίδια είναι σε pdf τα οποία όμως ανοίγουν σε libreoffice για διορθώσεις σαν odt αρχεία. Επίσης αν θέλουμε να αντιγράψουμε κώδικα καλύτερα να ανοίξουμε το εγχειρίδιο στο libreoffice.
4. Εκκίνηση εφαρμογής περιβάλλοντος Μ2000.
4. Εκκίνηση εφαρμογής περιβάλλοντος Μ2000.
4.1. Εκκίνηση περιβάλλοντος M2000 χωρίς πρoγράμματα (κενό)
Από την Έναρξη-Προγράμματα-Μ2000 Για να κλείσει το περιβάλλον Μ2000 γράψτε Τέλος ή End. Επίσης κλείνει η εφαρμογή και από το Χ στο παράθυρο που εμφανίζεται στο εικονίδιο στο Taskbar (γραμμή εργασιών). Σε πλήρη οθόνη η γραμμή εργασιών εμφανίζεται αν πατήσουμε το πλήκτρο Windows.
4.2. Εκκίνηση προγράμματος (κατάληξη gsb) που χρησιμοποιεί δικό του περιβάλλον Μ2000.
Μπορούμε να δηλώσουμε ότι τα αρχεία gsb ανοίγουν με το m2000.exe και έτσι μπορούμε να τρέχουμε ανεξάρτητα περιβάλλοντα Μ2000. Η δήλωση γίνεται πάνω σε ένα αρχείο gsb. Προσοχή εδώ, όταν τρέχουμε άμεσα ένα gsb πρόγραμμα πρέπει στο τέλος του να έχουμε την εντολή εκτέλεσης ενός τμήματος, και αν θέλουμε να εμφανιστεί η κονσόλα την εντολή Show ή Άναψε ή κάποια εντολή τύπου Εισαγωγή που διαβάζει αριθμούς ή αλφαριθμητικά από το πληκτρολόγιο. Αν ένα πρόγραμμα κάνει χρήση φορμών χρήστη (GUI) δεν χρειάζεται να ανοίξει η κονσόλα, οπότε βλέπουμε άμεσα τα παράθυρα. Επίσης είναι δυνατόν να έχουμε και κονσόλα και παράθυρα μαζί (η κονσόλα εμφανίζεται κάτω από τα παράθυρα)..
Τα αρχεία gsb είναι αρχεία κειμένου και μπορούν να είναι κρυπτογραφημένα ή όχι. Εξ ορισμού τα αρχεία αυτά είναι τύπου UTF8 αλλά μπορούν να είναι σε οποιοδήποτε σύστημα ακόμα και ANSI, η εύρεση τύπου γίνεται αυτόματα (ακόμα και για το line feed τύπο), και ανοίγουν με το Notepad.exe
Υπάρχει τρόπος να κλειδωθούν (κωδικοποιηθούν) ώστε να μην εμφανίζεται ο κώδικας με άνοιγμα στο Notepad.exe
4.3. Τι μπορούμε να κάνουμε όταν τρέξουμε το m2000.exe (εκκινεί το περιβάλλον της Μ2000):
Λέμε για περιβάλλον γιατί είναι αυτό που περιέχει ότι χρειάζεται για να εκτελούμε άμεσα εντολές, να εκτελούμε τμήματα (προγράμματα), να τα σώνουμε, να τα φορτώνουμε, να τα εκτελούμε, να τα διορθώνουμε σε διορθωτή με αυτόματο χρωματισμό, χωρίς να το τερματίσουμε, και εξ ορισμού σε πλήρη οθόνη. Επιπλέον μπορούμε να έχουμε ανοιχτά περισσότερα από ένα περιβάλλοντα Μ2000 (δηλαδή να τρέχουν πολλά m2000.exe).
Μια υποθετική εργασία είναι η παρακάτω:
Ανοίγει ο διερμηνευτής-Περιβάλλον της Μ2000 και εμφανίζει την γραμμή εντολών. Με Φόρμα 60,40 φτιάχνουμε το μέγεθος που θέλουμε γραμμάτων, πόσα γράμματα στη γραμμή και πόσες γραμμές (η Μ2000 γράφει και με αναλογική γραφή, αλλά χρησιμοποιεί τις θέσεις της απλής γραφής για να στοιχίζει στήλες). Με τέλος τερματίζουμε το πρόγραμμα. Με Esc σταματάμε εντολές, με Break κάνουμε ψυχρή εκκίνηση του περιβάλλοντος. Με Ctrl+U ανοίγουμε τις ρυθμίσεις. Εγώ συνήθως ρυθμίζω το διάστιχο στα 60 twips για να έχουν απόσταση οι γραμμές. Με ? 12+4 εκτελούμε άμεσα πράξεις. Με Α=10 κάνουμε άμεσα μια μεταβλητή. Με Πίνακας Α(100) κάνουμε άμεσα πίνακα (μέχρι 10 διαστάσεις). Δείτε με τη βοήθεια τα ΣΩΣΕ ΦΟΡΤΩΣΕ ΣΥΓΓΡΑΦΗ ΚΑΘΑΡΟ ΑΔΕΙΑΣΕ ΝΕΟ καθώς και τα ΟΘΟΝΗ. ΠΕΝΑ, ΤΥΠΩΣΕ, ΕΙΣΑΓΩΓΗ.Με την ΒΟΗΘΕΙΑ ΟΛΑ βλέπουμε όλη τη λίστα εντολών (που υπάρχει στην βοήθεια). Με Help All την βλέπουμε στα αγγλικά (αφού όλες οι εντολές είναι στα αγγλικά).
Λίγα λόγια για τη Μ2000 για το τι μπορεί να κάνει!
Η Μ2000 φτιάχνει βάσεις δεδομένων, έχει γραφικά με κύκλους, πολύγωνα, καμπύλες, χρησιμοποιεί και πολικές συντεταγμένες, επίσης ανοίγει πολυμέσα, χειρίζεται φωτογραφίες, λόγο (μιλάει κιόλας), παίζει μουσική με νότες και φωνές κάνοντας χρήση του συνθεσάιζερ, μπορεί να χρησιμοποιήσει Αυλούς για σύνδεση μεταξύ εφαρμογών σε Μ2000, και διαθέτει και νήματα (κώδικας που τρέχει παράλληλα). Μπορεί να χειριστεί το Word και άλλα παρόμοια προγράμματα. Μπορούμε να φτιάχνουμε προγράμματα με διάφορα στυλ, όπως διαδικαστικό, τμηματικό, αντικειμενοστραφή, και όπως έγραψα σε ένα παράδειγμα...και συναρτησιακό. Μπορεί να εξάγει σε εκτυπωτή. Παίρνει εντολές στα ελληνικά και με τόνους, με την σύνταξή της φυσικά.Εγκατάσταση Αναθεώρησης
Απεγκατάσταση και νέα εγκατάσταση. Οι ρυθμίσεις παραμένουν.Η εντολή Monitor
Αυτή η εντολή μας δείχνει διάφορα path (μονοπάτια) και στοιχεία για την Μ2000. Το AppPath δεν εμφανίζεται (βγαίνει με την ? AppDir$) γιατί αυτό που μας γυρίζει είναι το μονοπάτι που θα γνώριζαν τα windows αν στην Εκτέλεση (windows key+R) δίναμε το m2000.exe. Κάποια στιγμή που θα ολοκληρωθεί η ενσωματωμένη βοήθεια θα υπάρξει ένας τρόπος για εγκατάσταση με ένα κλικ, οπότε θα βλέπουμε εκεί το μονοπάτι "εγκατάστασης".Αν θέλουμε να κάνουμε τα αρχεία gsb να τρέχουν με την m2000.exe μπορούμε. Ξεκινάμε την Μ2000 με δικαιώματα Admin (δεν χρειάζεται άλλη φορά). Με "+REG" κάνουμε τα GSB να συνδέονται με το τρέχον exe (βάσει του AppDir$) ενώ το "-REG" αφαιρεί την σύνδεση! Με την εντολή monitor ελέγχουμε
monitor
switches "+REG"
switches "-REG"
Δεν είναι απαραίτητος αυτός ο τρόπος. Μπορούμε στον Explorer να επιλέξουμε ένα gsb Αρχείο και να υποδείξουμε το πρόγραμμα m2000.exe που θα το εκτελέσει.
Μπορούμε να κρατήσουμε μια παλιά έκδοση, κάνοντας πριν την απεγκατάσταση αντιγραφή του m2000.dll, και μετά αφού το βάλουμε σε έναν νέο φάκελο βάζουμε το m2000.exe και ένα gsb αρχείο που ονομάζουμε πχ Test1.gsb. Στο αρχείο γράφουμε μια εντολή πχ το Dir User (το οποίο επιλέγει τον φάκελο του χρήστη). Αλλάζουμε το όνομα του m2000.exe σε Test1.exe. Τώρα το m2000.exe κατά την εκτέλεση θα δει ότι έχει άλλο όνομα, ότι υπάρχει το Test1.Gsb (ίδιο όνομα με αυτό του exe), και θα φορτώσει το m2000.dll που είναι στο φάκελο και όχι αυτό που έχει καταχωρηθεί στο registry των Windows. Το m2000.dll μπορούμε να το ονομάσουμε lib.bin Με τα τρια αρχεία, το Test1.exe, το Test1.gsb και το lib.bin έχουμε ένα portable πρόγραμμα που δεν χρειάζεται εγκατάσταση!
Το m2000.dll στη κανονική εγκατάσταση καταχωρείται σαν ActiveX αντικείμενο, για να μπορεί να κληθεί από άλλες γλώσσες.
Περί συμβατότητας με διάφορες εκδόσεις των Windows (μέχρι και 10)
Από Xp και πάνω υπάρχει πλήρη συμβατότητα. Το περιβάλλον αναγνωρίζει αν τρέχει σε Windows 64 ή 32bit, και σε πιο λειτουργικό τρέχει. Επίσης αναγνωρίζει αν τρέχει σε Wine (Linux).
Υπάρχει ενσωματωμένος Window Manager (τον έχω γράψει και αυτόν), ως ένα layer πάνω στις βασικές φόρμες (Παράθυρα) της VB6 οι οποίες με την σειρά τους είναι ένα layer πάνω από τις αυθεντικές φόρμες των Windows. Σε όλα τα λειτουργικά οι φόρμες εμφανίζονται ίδιες, και όχι όπως οι αυθεντικές φόρμες σε κάθε διαφορετικό λειτουργικό (δεν αλλάζει μόνο το Skin αλλά και όλη η φιλοσοφία χρήσης, αφού αυτή καθορίζεται από τον ενσωματομένο Window Manager). Η μόνη διαφορά είναι στο Linux όπου αν τυχόν η φόρμα έχει το εικονίδιο για ελαχιστοποίηση σε Windows, τότε σε Linux δεν θα το έχει, γιατί δεν συμβαδίζει το σύστημα ελαχιστιοποίησης του Wine με τα αυθεντικά Windows (ίσως κάποτε το φτιάξουν), με συνέπεια όταν γίνει η ελαχιστοποίηση να εξαφανιστεί το πλήκτρο πάνω στην γραμμή εργασιών (οπότε δεν το αφήνει αυτό να συμβεί το περιβάλλον της Μ2000 όταν τρέχει μέσα από Wine). Η μόνη φόρμα που εμφανίζεται όπως αυτή του λειτουργικού είναι οι ιδιότητες του εκτυπωτή! Επίσης σε Wine όταν η φόρμα δεν έχει τίτλο όπως αυτή της κοσνόλας δεν μπορεί να επιλεχθεί με alt-tab (γενικά αυτά τα προβλήματα μπορεί να έχουν στο μεταξύ διορθωθεί, όσο η εφαρμογή Wine βελτιώνεται).
Προγραμματιστικά δεν υπάρχει το layer που αναφέρθηκε παραπάνω, αλλά το subclass, δηλαδή οι φόρμες της Μ2000 κληρονομούν από τις κενές φόρμες της VB6, oi οποίες κληρονομούν από τις στανταρ φόρμες των Windows ιδιότητες. Αυτό που δεν κληρονομούν είναι τα στοιχεία μορφοποίησης (skin). Έτσι η μορφοποίηση είναι διαχειρίσιμη από τη M2000 και κοινή σε όλα τα λειτουργικά). Τα στοιχεία ελέγχου των φορμών χρήστη στη Μ2000 είναι γραμμένα στο κώδικα της Μ2000 (όλα είναι αντικείμενα που κληρονομούν από ένα βασικό στοιχείο ελέγχου User Control, που υπάρχει στο κώδικα της Μ2000 και είναι γραμμένο και αυτό από το συγγραφέα της Μ2000).
Στα 64bit συστήμα και με χρήση καλής κάρτας γραφικών (πχ με nvidia επεξεργαστή) τα γραφικά κερδίζουν πολύ σε ταχύτητα (περισσότερο από τα 32bit σε ίδιο σύστημα υπολογιστή). Η διαφορά φαίνεται από τα Windows 8.0 και πάνω.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.