Μετα από μια πρώτη ματιά και την πρώτη προσπάθεια να γράψω ένα πρόγραμμα σκέφτηκα ότι πρώτα πρέπει να εξοικειωθώ με το περιβάλλον ανάπτυξης εφαρμογών της XBASIC
γιανα μπορώ να δουλέψω καλύτερα. Στο σημερινό άρθρο θα σας παρουσιάσω το περιβάλλον ανάπτυξης γιανα είναι κατανοητό το παράδειγμα εφαρμογής που θα γραφτεί
Σε αυτό το παράθυρο γράφουμε τον κώδικα και έχουμε όλες τις δυνατότητες που έχουν τα σύγχρονα περιβάλλοντα προγραμματισμού. Πχ. σημεία προσωρινής παύσης
(breakpoints), εμφάνιση τιμών μεταβλητών κ.λ.π.\
Αναλυτικά θα δούμε τις κυριώτερες επιλογές των μενού.
- FileNew\
Επιλέγεται νέο αρχείο. Διαγράφεται ότι έχει παραμείνει στην μνήμη και διακόπτεται οποιαδήποτε λειτουργία. Τα δεδομένα δεν αποθηκεύονται έτσι πρέπει να έχει
γίνει πριν αποθήκευση αν θέλουμε να χρησιμοποιήσουμε πάλι το πρόγραμμα που μόλις είχαμε γράψει. Η επιλογή αυτή έχει μας δίνει την δυνατότητα να
δημιουργήσουμε 3 διαφορετικούς τύπους κώδικα.
1. Απλό αρχείο χαρακτήρων (text file)
2. Κανονικό πρόγραμμα BASIC (χωρίς την χρήση γραφικού περιβάλλοντος)
3. Πρόγραμμα που χρησιμοποιεί γραφικό περιβάλλον (φόρμες, κουμπιά κ.λ.π.)
- FileTextLoad\
Με αυτή την επιλογή μπορούμε να φορτώσουμε στο περιβάλλον αρχεία χαρακτήρων (text files) που μπορεί να μην είναι πρόγραμμα πχ. σημειώσεις. Στο περιβάλλον
δεν υποστηρίζεται η εμφάνιση χαρακτήρων πάνω από το 128 όπου αν υπάρχουν τέτoιοι χαρακτήρες θα φαίνονται περίεργα. Επίσης στο αρχείο χαρακτήρων δεν πρέπει
να υπάρχουν χαρακτήρες NULL. Βέβαια εδώ δημιουργείται το ερώτημα τι γινέται με τα Ελληνικα; Νομίζω όμως οτι μπορούμε να ξεπεράσουμε αυτόν τον περιορισμό αν
τα μηνύματα του προγράμματος δεν είναι μέσα στο ν κώδικα αλλά σε αρχείο όπου θα διαβάζεται από το πρόγραμμα. Αυτός ο τρόπος δίνει επίσης την δυνατότητα να
έχουμε διαφορετικά αρχεία για κάθε γλώσσα και έτσι νομίζω ότι ο περιορισμός του περιβάλλοντος να μην δέχεται χαρακτήρες \> 128 δεν είναι σπουδαίο πρόβλημα.
- FileLoad\
Φορτώνεται στο περιβάλλον ένα πρόγραμμα που εχει αποθηκευθεί από πριν.
- FileSave\
Αποθηκεύεται το τρέχον πρόγραμμα σε αρχείο.
- FileMode\
Επιλέγεται ο τρόπος λειτουργίας του περιβάλλοντος. Text mode είναι γιανα μπορούμε να επεξεργαζόμαστε οποιοδήποτε κείμενο ενώ το Program Mode μας δίνει τις
ευκολίες που χρειαζόμαστε για το γράψιμο προγραμμάτων
- FileRename\
Το επιλέγουμε γιανα αλλάξουμε το όνομα του προγράμματος που έχουμε στην μνήμη.
- FileQuit\
Δηλώνουμε ότι θέλουμε να εγκαταλείψουμε το περιβάλλον εργασίας και άν έχουμε κάνει μεταβολές στο πρόγραμμά μας το περιβάλλον μας ζητά επιβεβαίωση και φύλαξη
των τελευταίων αλλαγών άν θέλουμε.
- EditCut\
Διαγράφει καί αποθηκεύει σε προσωρική μνήμη (clipboard) το επιλεγμένο κείμενο.
- EditGrab\
Αντιγράφει το επιλεγμένο κείμενο στην προσωρινή μνήμη (clipboard).
- EditPaste\
Παρεμβάλλει στο τρέχον σημείο ότι είναι αποθηκευμένο στην μνήμη.
- EditFind\
Αναζήτηση κειμένου στο πρόγραμμα
- Edit\_\_\
Αντικατάσταση κειμένου με άλλο
- EditRead\
Ανάγνωση αρχείου στην προσωρινή μνήμη (clipboard).
- EditWrite\
Εγγραφή σε αρχείο της προσωρινής μνήμης (clipboard).
- EditAbandon\
Ακύρωση όλων των αλλαγών στην τρέχουσα ρουτίνα.
- ViewFunction\
Εμφανίζεται παράθυρο με όλες τις ρουτίνες του προγράμματος και επιλέγεται η επιθυμητή.
- ViewPriorFunction\
Εμφανίζεται η προηγούμενη ρουτίνα
- ViewNewFunction\
Δημιουργούμε μια νέα ρουτίνα και καθορίζουμε το όνομά της, παραμέτρους κλπ.
- ViewDeleteFunction\
Εμφανίζεται κατάλογος με όλες τις ρουτίνες και επιλέγουμε αυτήν πρός διαγραφή.
- ViewRenameFunction\
Δίνεται η δυνατότητα αλλαγής ονόματος της τρέχουσας ρουτίνας. Με την εντολή αλλαγής όλες οι κλήσεις σε αυτή την ρουτίνα προσαρμόζονται ανάλογα.
- ViewCloneFunction\
Αναπαράγεται ένα πιστό αντίγραφο κάποιας ρουτίνας.
- ViewLoadFunction\
Φορτώνεται μια ρουτίνα από αρχείο και ενσωματώνεται στο ήδη υπάρχον πρόγραμμα.
- ViewSaveFunction\
Αποθηκεύεται μια ρουτίνα σε αρχείο για την μεταφορά της όπως είναι σε άλλο πρόγραμμα.
- Options\
Επηρεάζεονται οι παράμετροι εμφάνισης του περιβάλλοντος και οι παράμετροι της μεταγλώττισης (Compile).
- RunStart\
Εκτελείται το τρέχον πρόγραμμα
- RunContinue\
Συνεχίζεται η εκτέλεση μετά από διακοπή της εκτέλεσης του προγράμματος.
- RunPause\
Διακοπή της εκτέλεσης του προγράμματος για τον έλεγχο μεταβλητών ή κλήσεων ρουτινών.
- RunKill\
Τερματισμός της λειτουργίας του προγράμματος και μηδενισμός μεταβλητών.
- RunRecompile\
Γίνεται μεταγλώττιση του προγράμματος χωρίς να εκτελεστεί για το έλεγχο λαθών σύνταξης κλπ.
- RunAssembly\
Γίνεται μεταγλώττιση του προγράμματος σε γλώσσα Assembly και αποθηκεύεται στον δίσκο με το επίθεμα .a
- RunLibrary\
Γίνεται μεταγλώττιση του προγράμματος σε γλώσσα Assembly και αποθηκεύεται στον δίσκο με το επίθεμα .a γιανα χρησιμοποιηθεί για την δημιουργία βιβλιοθηκών
ρουτινών.
- DebugToggleBreakpoint\
Τοποθετείται/ακυρώνεται στην τρέχουσα γραμμή σημείο διακοπής εκτέλεσης (Breakpoint) για έλεγχο της ροής και τνω μεταβλητών του προγράμματος.
- DebugClearBreakpoints\
Ακυρώνονται τα σημεία διακοπής (Breakpoints) σε όλο το πρόγραμμα.
- DebugEraseBreakpoints\
Ακυρώνονται τα σημεία διακοπής (Breakpoints) στην τρέχουσα ρουτίνα.
- DebugMemory\
Εμφανίζονται τα περιεχόμενα της μνήμης σε σημεία πού επιλέγετε.
- DebugAssembly\
Εμφανίζεται η τρέχουσα γραμμή σε μορφή Assembly και μπορούμε να προχωράμε τις εντολές βήμα-βήμα.
- DebugRegisters\
Εμφανίζονται τα περιεχόμενα των καταχωρητών (Registers) του επεξεργαστή.
- Help\
Βοήθεια για την λειτουργία το περιβάλλοντος προγραμματισμού.
### [2. Παράθυρο εμφάνισης αποτελεσμάτων]{#s2}

Σε αυτό το πραράθυρο εμφανίζονται τα μυνήματα εισόδου/εξόδου όταν η εφαρμογή μας δεν είναι κατασκευασμένη για γραφικό περιβάλλον. Εμφανίζονται τα αποτελέσματα
(output) ή οι ερωτήσεις για πληκτρολόγηση δεδεομένων (input) με το απλό στύλ της κονσόλας.\
Για απλά προγράμματα χωρίς περίπλοκη εισαγωγή δεδομένων είναι ότι πρέπει γιατί δεν υπάρχει λόγος να μπλέξουμε με γραφικό περιβάλλον στις απλές εφαρμογές.
Με την βοήθεια του toolkit μπορούμε να δημιουργήσουμε παράθυρα,κουμπιά και ότι άλλο προσφέρει το GuiDesigner γιανα κατασκευάσουμε το περιβάλλον της εφαρμογής
μας. Για να φανούν οι δυνατότητες του, θα αναφέρω παρακάτω ένα-ένα τα εικονίδια και τι κάνει το κάθε ένα. Πρώτα από όλα να δούμε τι κάνουν τα μενού.

Επιλέγοντας το Window μπορούμε να δημιουργήσουμε νέο παράθυρο, να εξαφανίσουμε το τρέχον, να ανακαλέσουμε κάποιο παλαιό για διόρθωση/συμπλήρωμα, να
αποθηκεύσουμε αυτό που έχουμε δημιουργήσει ή και να διαγράψουμε μόνιμα το τρέχον παράθυρο. Προσοχή! Δεν υπάρχει τρόπος να ανακληθεί παράθυρο που έχει διαγραφεί.
Ο τρόπος αποθήκευσης είναι τέτοιος ώστε τα παράθυρα αποθηκεύνται με ειδικές παραμέτρους γιανα μπορούν να ενσωματωθούν και να επικοινωνούν με την εφαρμογή μας.
Η τρίτη και δεύτερη επιλογή από το τέλος κάνει αυτή την μετατροπή στην μνήμη γιανα είναι άμεσα διαθέσιμες οι εντολές στο πρόγραμμά μας. Η τελευταία επιλογή
είναι φανερό ότι είναι το τέλος λειτουργίας του GuiDesigner.

Επιλέγοντας το Grid μπορούμε να ρυθμίσουμε την εμφάνιση, την συμεριφορά, την σειρά και την εξάρτηση (ποιό αντικείμενο ανήκει που, ομάδες κλπ) του κάθε
αντικειμένου. Η τελευταία επιλογή είναι για την διαγραφή του τρέχοντος αντικειμένου.\
Παρακάτω θα δούμε ένα ένα τα αντικείμενα του γραφικού περιβάλλοντος ένα ένα.
Αυτά είναι τα διάφορα αντικείμενα που μπορούμε να χρησιμοποιήσουμε γιανα κατασκευάσουμε την παραθυρική εφαρμογή μας.
### [4. Επίλογος]{#s4}
Μετά την πρώτη γνωριμία με το περιβάλλον στο επόμενο άρθρο θα δούμε τα βασικά δομικά στοιχεία που αποτελούν μια εφαρμογή XBASIC είτε σε περιβάλλον κονσόλας είτε
σε παραθυρικό περιβάλλον (φόρμες, κουμπιά, πεδία κλπ.) Θα γίνουν και κάποια συγκριτικά τεστ με τις άλλες δύο Basic που ξέρω (Basic για το DOS και Visual Basic
gia ta Windows) έτσι γιανα δούμε και τί γίνεται από ταχύτητες και θα αναφέρω ότι άλλο δώ ότι είναι ενδιαφέρον κάποιος να ξέρει πρίν ξενικήσει να γράψει την
πρώτη του εφαρμογή. Θα τα ξαναπούμε στο επόμενο Magaz.