ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ:

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ:"

Transcript

1 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL ΤΖΗΜΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΣΠΟΥΔΑΣΤΗΣ ΜΑΡΔΥΡΗΣ ΒΑΣΙΛΕΙΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΚΑΒΑΛΑ 2007

2 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL

3 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL ΤΖΗΜΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΣΠΟΥΔΑΣΤΗΣ ΜΑΡΔΥΡΗΣ ΒΑΣΙΛΕΙΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΚΑΒΑΛΑ 2007

4 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL Πτυχιακή εργασία του Τζήμου Κωνσταντίνου Τμήμα ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ Τ.Ε.Ι. Καβάλας Εγκρίνεται για παρουσίαση από τον Πρόεδρο της εποπτεύουσας επιτροπής

5 Ευχαριστώ την οικογένειά μου για την υποστήριξή και την συμπαράστασή τους Ευχαριστώ τον Κύριο Μαρδύρη Βασίλειο για την καθοδήγηση και τη βοήθειά του κατά τη διάρκεια της δημιουργίας της διαδικτυακής εφαρμογής και όλους όσους βοήθησαν «άμεσα ή έμμεσα» στην πραγματοποίηση της. Τζήμος Κωνσταντίνος Καβάλα 2007

6 ΠΕΡΙΕΧΟΜΕΝΑ 1 ΕΡΓΑΛΕΙΑ ΠΟΥ ΒΟΗΘΗΣΑΝ ΣΤΗΝ ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 1.1 Γενικά HTML TCL Common Gateway Interface (CGI) MySQL Apache HTTP server ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 2.1. Γενικά Γραμματεία Καταχώρηση Διόρθωση Εμφάνιση Ανάθεσης Καταχώρηση Αριθμών Συμβουλίων Εμφάνιση Υπεύθυνης Δήλωσης Στοιχείων Καταστάσεις Συμβάσεις Διόρθωση - Εμφάνιση Βεβαιώσεις προϋπηρεσίας Καθηγητές.19 ΠΑΡΑΡΤΗΜΑ ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 3.1. Γενικά Ανάλυση των Πινάκων...27 ΠΑΡΑΡΤΗΜΑ ΑΝΑΛΥΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 4.1. Γενικά Εισαγωγική σελίδα Συμπλήρωση αριθμών συμβουλίων Σελίδα Simvoulnum1.tcl Μηχανή αναζήτησης 1 ο μέρος Μηχανή αναζήτησης 2 ο μέρος Κύρια σελίδα Αναθέσεων Μηχανή αναζήτησης μέρος 2 ο και διόρθωση αναθέσεων Υπεύθυνη δήλωση στοιχείων Συμβάσεις και διόρθωση συμβάσεων Καταστάσεις Βεβαιώσεις Προϋπηρεσίας Αναζήτηση και εμφάνιση μίας η πολλών αναθέσεων ΠΑΡΑΘΕΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΣΤΟ ΣΥΝΟΛΟ 5.1 index.html simvoulnum.tcl simvoulnum1.tcl anathesis.tcl anathesis1.tcl anathesis2.tcl

7 5.7. anathesis3.tcl diorthanathesis.tcl diorthanathesis1.tcl diorthanathesis2.tcl diorthanathesis3.tcl anathesis4.tcl anathesis5.tcl anathesis6.tcl anthesis7.tcl aitisi0.tcl aitisi00.tcl aitisi.tcl aitisi1.tcl dilosi.tcl dilosi1.tcl dilosi2.tcl katastaseis.tcl katastaseis1.tcl simvaseis00.tcl simvaseis0.tcl simvaseis.tcl simvaseis1.tcl diorthsimvaseis.tcl diorthsimvaseis1.tcl emfansimvas.tcl emfansimvas1.tcl emfansimvas2.tcl bebeoseis.tcl veveosis1.tcl veveosis2.tcl.170 ΒΙΒΛΙΟΓΡΑΦΙΑ

8 1 ΕΡΓΑΛΕΙΑ ΠΟΥ ΒΟΗΘΗΣΑΝ ΣΤΗΝ ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 1.2. Γενικά Η εφαρμογή που θα αναλυθεί σε αυτό το εγχειρίδιο είναι μια Web τοποθεσία η οποία αναπτύχθηκε με σκοπό την εξυπηρέτηση των διοικητικών αναγκών της γραμματείας του τμήματος Διαχείρισης Πληροφοριών. Αποτελείτε από μία ιστοσελίδα που χρησιμεύει στην πλοήγηση του χρήστη στην εφαρμογή και είναι σχεδιασμένη σε γλώσσα HTML, από σαράντα ένα script ογραμένα σε γλώσσα TCL τα οποία συνδέονται μεταξύ τους και αποτελούν την εφαρμογή και τις λειτουργίες της και από μία SQL βάση δεδομένων η οποία λειτουργεί στον Server του ΤΕΙ Καβάλας. Για την ανάπτυξη της εφαρμογής εγκατέστησα στον προσωπικό υπολογιστή μου τον MySQL server ως ένα σύστημα διαχείρισης βάσεων δεδομένων, τον Apache HTTP server για την δημιουργία εικονικού διακομηστή στον υπολογιστή μου και τέλος το Edit Plus ένα πολύ εύχρηστο πρόγραμμα το οποίο με διευκόλυνε στην σύνταξη του κώδικα της εφαρμογής 1.2. HTML Η HTML είναι η γλώσσα κειμένου που χρησιμοποιείται για να δημιουργηθούν σελίδες ιστού. Σχεδιάστηκε για να καθορίσει τη λογική οργάνωση ενός αρχείου κειμένου που περιλαμβάνει συνδέσμους και παρέμβαση πάνω σε αυτούς τους συνδέσμους από το χρήστη. Η HTML δεν αποτελεί έναν "Παίρνεις Αυτό Που Βλέπεις" (What You See Is What You Get, WYSIWYG) επεξεργαστή κειμένου όπως το Word ή το WordPerfect. Αντίθετα απαιτεί την δημιουργία κειμένου του οποίου τμήματα "μαρκάρονται" σαν λογικές ενότητες, δηλαδή τίτλους, παραγράφους, λίστες κ.α. και των οποίων η μετάφραση πραγματοποιείται από το πρόγραμμα ανάγνωσης που χρησιμοποιούμε. Αυτό το μοντέλο ανάπτυξης σελίδων είναι ιδιαίτερα ευέλικτο καθώς επιτρέπει σε προγράμματα ανάγνωσης διαφορετικών δυνατοτήτων και χαρακτηριστικών να "βλέπουν" τα ίδια HTML αρχεία. Αναλυτικότερα, όταν κάποιος χρήστης βλέπει μια σελίδα σας, τότε το πρόγραμμα ανάγνωσης παίρνοντας ένα αντίγραφο του αρχείου 7

9 που περιέχει αυτή τη σελίδα, μεταφράζει τις ετικέτες της HTML και εμφανίζει τα αποτελέσματα στην οθόνη του χρήστη TCL Η TCL (Tool Command Language) είναι μια γλώσσα προγραμματισμού οι οποία μας παρέχει ένα προγραμματιστικό περιβάλλον και ένα σύνολο προγραμματιστικών εργαλείων όπως μεταβλητές και επαναλήψεις που μας διευκολύνουν στην δημιουργία προγραμμάτων ανοιχτού κώδικα τα οποία στο σύνολό τους αποτελούν μια ολοκληρωμένη εφαρμογή η οποία με την βοήθεια του πρωτοκόλλου CGI θα λειτουργεί, θα επεξεργάζεται και θα επιστρέφει πληροφορίες στον χρήστη σε πραγματικό χρόνο. Στην γλώσσα TCL μπορούμε να αναμείξουμε κομμάτια κώδικα και εντολές άλλων γλωσσών προγραμματισμού όπως εντολές για την διαχείριση βάσεων δεδομένων όπως για παράδειγμα εντολών για την διαχείριση SQL βάσεων δεδομένων και κομμάτια κώδικα γραμμένο στην γλώσσα HTML με σκοπό τον σχεδιασμό ενός εύχρηστου περιβάλλοντος το οποίο θα απευθύνεται στους χρήστες της εφαρμογής Common Gateway Interface (CGI) Το Common Gateway Interface (CGI) (κοινή διεπαφή πυλών) είναι το πρωτόκολλο που βοηθάει στην διασύνδεση των διαφόρων εφαρμογών ή αλλιώς ιστοσελίδων με τους κεντρικούς υπολογιστές πληροφοριών ή servers, όπως είναι οι HTTP ή Web servers. Ένα πρόγραμμα που χρησιμοποιεί το CGI εκτελείται σε πραγματικό χρόνο, έτσι μπορεί α παρέχει δυναμικές πληροφορίες. Παραδείγματος χάριν, αν θέλουμε να φτιάξουμε μια εφαρμογή την οποία θα χρησιμοποιούν χρήστες μέσω διαδικτύου ή τοπικών δικτύων και το οποίο θα πρέπει να διαχειρίζεται πληροφορίες από μία βάση δεδομένων π.χ (UNIX, SQL), θα πρέπει να φτιάξουμε ένα CGI πρόγραμμα το οποίο θα εκτελεστεί από έναν Web daemon (ο Web daemon ή system agent ή service είναι μία εφαρμογή ή υπηρεσία η οποία λειτουργεί στο παρασκήνιο της λειτουργίας της εφαρμογής μας και είναι απαραίτητος για την λειτουργία των εφαρμογών μας) για να διαβιβάσει τις πληροφορίες στη μηχανή βάσεων δεδομένων στην συνέχεια αφού η βάση δεδομένων 8

10 επεξεργαστεί αυτές τις πληροφορίες και επιστρέψει κάποια αποτελέσματα να επιστρέψει τα αποτελέσματα πίσω στην εφαρμογή και να τα επιδείξει στον χρήστη. Κάθε HTTP server έχει ένα αρχείο το οποίο ονομάζεται cgi-bin. Σε αυτόν τον φάκελο πρέπει να τοποθετήσουμε τα cgi προγράμματά μας για να μπορέσουν να εκτελεστούν. Τέτοια προγράμματα μπορούν να γραφτούν σε γλώσσες προγραμματισμού όπως C/C++, Fortran, PERL, TCL, Visual Basic κ.τ.λ. 1.5 MySQL H MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που ελέγχει την πρόσβαση στα δεδομένα ώστε να μπορούν πολλοί χρήστες να μπορούν να δουλέψουν με αυτή ταυτόχρονα. Με την MySQL έχουμε την δυνατότητα να αποθηκεύουμε, να αναζητούμε, να διαγράφουμε, να ταξινομούμε και να ανακτούμε δεδομένα πολύ εύκολα και με ασφάλεια. Έτσι και εγώ χρησιμοποιώ την MySQL με σκοπό να μπορέσω να κάνω την εφαρμογή μου να επεξεργαστεί τις πληροφορίες που υπάρχουν στην βάση δεδομένων που συνδέεται με την εφαρμογή σύμφωνα με τις ανάγκες των χρηστών. Χρησιμοποίησα την SQL γιατί είναι εύκολη στην χρήση, αξιόπιστη και εύκολη στην εκμάθηση Apache HTTP server Με τον Apache HTTP server δημιούργησα έναν εικονικό διακομιστή (server) τον προσωπικό υπολογιστή μου με σκοπό να μπορώ να ελέγχω την πρόοδο και τον τρόπο λειτουργίας των κομματιών κώδικα που έγραφα, γιατί ο Apache HTTP server παρέχει στους χρήστες του το αρχείο CGI το οποίο όπως προανέφερα είναι απαραίτητο για την σύνδεση των εφαρμογών με την βάση δεδομένων, καθώς και αρχείο με το όνομα cgi-bin στο οποίο τοποθετούσα τα κομμάτια κώδικα. Έτσι με έναν απλό Browser (internet explorer, Mozilla Firefox κ.τ.λ) μπορούσα να εκτελώ τα κομμάτια κώδικα. 9

11 2. ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 2.1. Γενικά Η εφαρμογή η οποία περιγράφεται παρακάτω αναπτύχθηκε με σκοπό την γραμματειακή υποστήριξη των εκπαιδευτικών του τμήματος διαχείρισης πληροφοριών. Αποτελείτε από δύο πεδία. Το ένα αφορά τους εκπαιδευτικούς οι οποίοι θα μπορούν συμπληρώνουν μία φόρμα με τα προσωπικά τους στοιχεία μέσω internet και το δεύτερο αφορά την γραμματεία η οποία θα μπορεί να διαχειρίζεται πληροφορίες που αφορούν τους εκπαιδευτικούς όπως να αναθέτει εκπαιδευτικό έργο σύμφωνα με τις αποφάσεις των συμβουλίων του ΤΕΙ Καβάλας και α εκδίδει επίσημα έγγραφα όπως βεβαιώσεις προϋπηρεσίας συμβάσεις. Σχήμα 1. Είσοδος στην εφαρμογή Πιο αναλυτικά τα κουμπιά καταχώρηση αριθμών συμβουλίων, καταχώρηση ανάθεσης, διόρθωση καταχωρημένης ανάθεσης, εμφάνιση ανάθεσης, εμφάνιση 10

12 υπεύθυνης δήλωσης, καταστάσεις, συμβάσεις, διόρθωση συμβάσεων, εμφάνιση υπεύθυνης δήλωσης, εμφάνιση συμβάσεων και βεβαιώσεις προϋπηρεσίας της εισαγωγικής σελίδας της εφαρμογής αφορούν την γραμματεία και τις εργασίες διαχείρισης πληροφοριών που αφορούν τους καθηγητές του τμήματος. Τα κουμπιά υπεύθυνη δήλωση στοιχείων και διόρθωση δήλωσης στοιχείων είναι το κομμάτι της εφαρμογής στο οποίο ο κάθε εκπαιδευτικός ο οποίος έχει υπογράψει σύμβαση εργασίας με το ΤΕΙ Καβάλας, καλείτε να συμπληρώσει μια φόρμα με κάποια προσωπικά του στοιχεία Γραμματεία Η γραμματεία είναι ο κύριος διαχειριστής της εφαρμογής και με αυτή την εφαρμογή καλείτε να διαχειριστεί ένα πολύ μεγάλο όγκο δεδομένων και πληροφοριών από μια μεγάλη βάση δεδομένων. Έτσι για να μπορεί να επεξεργάζεται μεμονωμένα τις πληροφορίες του κάθε καθηγητή δημιούργησα μια μηχανή αναζήτησης της οποία η μορφή διαφέρει ανάλογα με το κουμπί που πατήσαμε στην εισαγωγική σελίδα, με σκοπό να μπορεί να επιλεγεί του τους καθηγητές των οποίων τα στοιχειά θέλει να επεξεργαστεί από το σύνολο όλων των καθηγητών. Μόνο δύο πεδία της εφαρμογής δεν χρησιμοποιούν μηχανή αναζήτησης και αυτά είναι το πεδίο καταχώρηση αριθμών συμβουλίων και το πεδίο καταστάσεις. 11

13 Καταχώρηση Διόρθωση Εμφάνιση Ανάθεσης Καταχώρηση. Πατώντας στο κουμπί καταχώρηση ανάθεσης της εισαγωγικής σελίδας της εφαρμογής εμφανίζεται η πρώτη σελίδα της μηχανής αναζήτησης (Σχήμα 2). Σχήμα 2. Μηχανή αναζήτησης Στην συνέχεια βάζοντας ακόμα και ένα χαρακτήρα σε ένα από τα δύο πεδία όνομα και επίθετο, πατώντας το κουμπί αναζήτηση, έπειτα από μια αναζήτηση στην βάση δεδομένων μας θα εμφανίσει μια λίστα με ονόματα καθηγητών που περιέχουν τους χαρακτήρες που πληκτρολογήσαμε προηγουμένως (Σχήμα 3). Ανάλογα με την το κουμπί που πατήσαμε στην εισαγωγική σελίδα της εφαρμογής βλέπουμε και διαφορετική σελίδα κάθε φορά. Σχήμα 3. Μηχανή αναζήτησης καταχώρηση ανάθεσης 12

14 Έτσι επιλέγοντας ένα όνομα από την λίστα και πατώντας επιλογή οδηγούμαστε στην σελίδα της εφαρμογής, στην οποία ο χρήστης καλείται να εισάγει στα πεδία της σελίδας τα κατάλληλα στοιχεία για την πραγματοποίηση μιας ανάθεσης εκπαιδευτικού έργου σε ένα καθηγητή (Σχήμα 4). Σχήμα 4. Κύρια σελίδα αναθέσεων Όταν ο χρήστης επιλέξει τις παραμέτρους που θέλει ώστε να πραγματοποιήσει μια έγκυρη καταχώρηση ανάθεσης και πατήσει το κουμπί καταχώρηση τότε αποθηκεύονται όλα τα στοιχεία σε δύο πίνακες της βάσης δεδομένων που χρησιμοποιώ τον πίνακα anathesis και τον mathima. Πρέπει να αναφέρω ότι κάθε φορά που κάνουμε μια καταχώρηση ανάθεσης με σκοπό να αναθέσουμε περισσότερα μαθήματα στον ίδιο καθηγητή τότε κάθε φορά ο πίνακας που βλέπουμε στο κάτω μέρος του σχήματος 4 αυξάνει κατά μία γραμμή η οποία περιέχει το μάθημα που ανατέθηκε. Επιπλέον κάθε φορά που ο χρήστης θέλει να κάνει μία ανάθεση, αν υπάρχουν παλαιότερες αναθέσεις για του καθηγητή για τον οποίο θέλει να κάνει ανάθεση, τότε η εφαρμογή κάνει αυτόματα ανάκτηση και εμφανίζει μέσα στα πεδία 13

15 τα στοιχειά τις τελευταίας ανάθεσης. Τέλος τα πεδία αριθμός πράξης γενικής συνέλευσης, αριθμός πράξης συμβουλίου ΤΕΙ, αριθμός προκήρυξης από το ΤΕΙ, αριθμός συνέλευσης ορισμού τριμελούς εισηγητικής επιτροπής και οι ημερομηνίες τους ανακτούνε κάθε φορά αυτόματα από το πίνακα της βάσης δεδομένων simvoulnum με σκοπό να απαλλάσσουν τον χρήστη από την συνεχή πληκτρολόγησή τους για κάθε καθηγητή που επιχειρεί ανάθεση μια και για όλους τους προς ανάθεση εκπαιδευτικούς ισχύουν τα ίδια ακριβός νούμερα. Διόρθωση. Για να μπορέσω να κάνω το πρόγραμμα πιο φιλικό και εύχρηστο για τον χρήστη, δημιούργησα το κομμάτι που αφορά την διόρθωση των λαθών που έγιναν κατά την διάρκεια καταχώρησης μίας ανάθεσης. Έτσι σε περίπτωση λάθους στις αναθέσεις ο χρήστης μπορεί να επιλέξει το κουμπί διόρθωση καταχωρημένης ανάθεσης, θα πρέπει να κάνει να κάνει μία νέα αναζήτηση του εκπαιδευτικού, του οποίου η ανάθεση καταχωρήθηκε λάθος (Σχήμα 2). Άμεσος μετά ακολουθεί μια διαφορετική σελίδα αναζήτησης σε σχέση με την απλή ανάθεση (Σχήμα 5). Σχήμα 5. Αναζήτηση λανθασμένης καταχώρησης Όπως βλέπουμε στο σχήμα πέντε ο χρήστης καλείτε να επιλέξει 5 διαφορετικές παραμέτρους με σκοπό να αναζητηθεί και να εμφανιστεί με ακρίβεια η λανθασμένη καταχώρηση. Πιο αναλυτικά πέραν του ονόματος του καθηγητή που είναι αυτονόητο 14

16 να πρέπει να επιλέξει, καλείτε να επιλέξει το ακαδημαϊκό έτος, το εξάμηνο (χειμερινό εαρινό), αν επρόκειτο για τροποποίηση η για νέα ανάθεση και το μάθημα για το οποίο έγινε η ανάθεση. Όταν επιλέξει τις κατάλληλες παραμέτρους τότε η εφαρμογή πραγματοποιεί αναζήτηση και εμφανίζει την λανθασμένη ανάθεση (Σχήμα 4) με όλα τα πεδία της ανακτημένα. Η διαφορά με την απλή ανάθεση εδώ είναι ότι υπάρχουν δύο κουμπιά, τα οποία είναι είτε για να αναβαθμίζουν την βάση με τα έ στοιχειά, είτε να διαγράφουν από αυτή τα λανθασμένα στοιχεία. Εμφάνιση. Εκτός από το να κάνουμε την ανάθεση καταχωρώντας τα στοιχειά στην βάση δεδομένων, θέλουμε α εμφανίζουμε και τις αναθέσεις σε μορφή επίσημου εγγράφου του ΤΕΙ Καβάλας, για διοικητικούς και λειτουργικούς λόγους. Εδώ ο χρηστής θα πρέπει να επιλέξει αν θέλει να εμφανίσει μία μεμονωμένη ανάθεση ή να εμφανίσει όλες τις αναθέσεις ή τις τροποποιήσεις αναθέσεων ενός ακαδημαϊκού έτους (Σχήμα 6). Σχήμα 6. Μηχανή αναζήτησης Όταν ο χρήστης πατήσει το κουμπί αναζήτηση θα εμφανιστεί μια σελίδα με τα αποτελέσματα των καθηγητών που ταιριάζουν με τους χαρακτήρες που επιλέξαμε (Σχήμα 3) και αφού επιλέξει το όνομα που θέλει εμφανίζεται ένα δυναμικό κείμενο το 15

17 οποίο περιέχει τα στοιχεία της ανάθεσης του εκπαιδευτικού που επιλέχτηκε. Εάν πατήσει το κουμπί εμφάνιση και αφού έχει επιλέξει τις κατάλληλες παραμέτρους, εμφανίζεται επίσης ένα δυναμικό κείμενο το οποίο εμφανίζει όλες τις αναθέσεις ή της τροποποιήσεις που αντιστοιχούν στις παραμέτρους που επέλεξε Καταχώρηση Αριθμών Συμβουλίων Πατώντας το κουμπί καταχώριση αριθμών συμβουλίων είναι μια σελίδα της εφαρμογής που έγινε με σκοπό την διευκόλυνση του χρήστη της εφαρμογής. Με αυτή τη σελίδα ο χρήστης καταχωρεί τους αριθμούς συμβουλίου και γενικής συνέλευσης του ΤΕΙ Καβάλας, τους αριθμούς τριμελούς επιτροπής και τους αριθμούς προκήρυξης του ΤΕΙ. Ο λόγος είναι για να αποφευχθεί η επανάληψη της καταχώρησης αυτών των αριθμών για κάθε ανάθεση που πραγματοποιείτε. Έτσι αυτά τα στοιχεία ανακτούντε από την κύρια σελίδα της ανάθεσης (Σχήμα 4). Σχήμα 7. Καταχώρηση αριθμών συμβουλίων Εμφάνιση Υπεύθυνης Δήλωσης Στοιχείων Με αυτή την επιλογή ο χρήστης μπορεί να εμφανίσει και να εκτυπώσει τις υπεύθυνες δηλώσεις στοιχείων που κατέθεσαν οι εκπαιδευτικοί μέσω διαδικτύου. Για να μπορέσει να το κάνει αυτό θα πρέπει πρώτα να βρει τον εκπαιδευτικό που θέλει μέσω της μηχανής αναζήτησης (Σχήμα 2 και 3). Έπειτα έχοντας επιλέξει τον καθηγητή 16

18 εμφανίζεται ένα δυναμικό κείμενο με όλα τα στοιχεία του καθηγητή όπως έχουν καταχωρηθεί από το ίδιο μέσω της εφαρμογής από το πεδίο υπεύθυνη δήλωση στοιχείων στην βάση δεδομένων Καταστάσεις. Με το κουμπί καταστάσεις που βρίσκεται στην εισαγωγική σελίδα της εφαρμογής (Σχήμα 1), ο χρήσης έχει την δυνατότητα να εμφανίζει κάποια στοιχεία καθηγητών, συνολικά όλων των εκπαιδευτικών της σχολής ή ξεχωριστά όλους τους ενεργούς, όλους τους μη επιλεχθέντες και όλους τους πρώην συνεργάτες. Σχήμα 8. Καταστάσεις Έτσι ανάλογα με την επιλογή που κάνει ο χρήστης εμφανίζεται ένα δυναμικό κείμενο που εμφανίζει μια λίστα τις πληροφορίες που θέλουμε Συμβάσεις Διόρθωση - Εμφάνιση. Εκτός από τις αναθέσεις η γραμματεία μπορεί μέσω της εφαρμογής να καταχωρεί, να ανανεώνει, να τροποποιεί και να εκτυπώνει τις συμβάσεις εργασίας για των μελλοντικών καθηγητών του τμήματος Διαχείρισης Πληροφοριών του ΤΕΙ Καβάλας. Όλα αυτά μπορεί ο χρήστης να τα κάνει με τα τρία κουμπιά που βρίσκονται στην 17

19 εισαγωγική σελίδα της εφαρμογής, τα κουμπιά συμβάσεις, διόρθωση καταχωρημένης σύμβασης και εμφάνιση συμβάσεων (Σχήμα 1). Πατώντας το κουμπί Συμβάσεις ή Διόρθωση συμβάσεων ο χρήστης, θα πρέπει να χρησιμοποιήσει την μηχανή αναζήτησης που έχω παρουσιάσει παραπάνω (Σχήμα 2 και 3). Καταχώρηση και Διόρθωση Σύμβασης. Αφού βρεθεί ο καθηγητής στον οποίο θέλουμε α κάνουμε σύμβαση και πατήσουμε το κουμπί επιλογή εμφανίζεται η φόρμα που πρέπει να συμπληρώσουμε για να πραγματοποιήσουμε μια καταχώρηση σύμβασης (Σχήμα 9). Σχήμα 9. Καταχώρηση Σύμβασης Την ίδια διαδικασία θα πρέπει να ακολουθήσει ο χρήστης για να διορθώσει και να διαγράψει μια σύμβαση που έχει καταχωρηθεί με λανθασμένα στοιχεία ή που δεν θέλει να υπάρχει πια στην βάση δεδομένων. Εμφάνιση. Για την εμφάνιση της σύμβασης ο χρήστης θα πρέπει να αναζητήσει τον καθηγητή του οποίου την σύμβαση θέλει να εκτυπώσει. Αφού επιλέξει το όνομα που θέλει και πατήσει επιλογή, εμφανίζεται ένα δυναμικό κείμενο με τα στοιχεία του καθηγητή που επιλέξαμε προηγουμένως καθώς και με όλες τις νομικές αναφορές και όρους που καθιστούν μια σύμβαση έγκυρη. 18

20 Βεβαιώσεις προϋπηρεσίας. Στην εισαγωγική σελίδα της εφαρμογής (Σχήμα 1), υπάρχει το κουμπί βεβαιώσεις προϋπηρεσίας με το οποίο η γραμματεία μπορεί να εκτυπώνει και να εμφανίζει τις βεβαιώσεις προϋπηρεσίας όλων των καθηγητών του τμήματος. Έτσι αναζητώντας τον καθηγητή μέσω της μηχανής αναζήτησης μπορεί να εμφανίσει τις βεβαιώσεις προϋπηρεσίας ανά ακαδημαϊκό έτος περιέχοντας όλες τις τροποποιήσεις που υπήρξαν κατά την διάρκεια του έτους. Το κείμενο που εμφανίζεται είναι δυναμικό και έτσι τα στοιχεία που περιέχει διαφέρουν από καθηγητή σε καθηγητή και από έτος σε έτος Καθηγητές Στο δεύτερο μισό κομμάτι της πτυχιακής το οποίο είχα αναλάβει να ολοκληρώσω και να παρουσιάσω μόνο ένα πεδίο της εφαρμογής αφορά τους εκπαιδευτικούς και αυτό είναι οι υπεύθυνες δηλώσεις στοιχείων. Έτσι πατώντας το κουμπί υπεύθυνη δήλωση στοιχείων ο καθηγητής θα πρέπει να αναζητήσει το όνομά του και αφού το επιλέξει θα εμφανιστεί μία φόρμα όπου θα πρέπει να συμπληρώσει τα στοιχεία του (Σχήμα 10). Πρέπει να αναφερθεί ότι η αναζήτηση του ονόματος του καθηγητή είναι απαραίτητη γιατί κάποια από τα στοιχεία που του ζητούνται υπάρχουν υποθηκευμένα στην βάση δεδομένων μας, επειδή έχουν ήδη καταχωρηθεί από την αίτηση την οποία έχει αναλάβει να ολοκληρώσει ο συμφοιτητής μου που ανέλαβε το πρώτο κομμάτι της εφαρμογής. Έτσι για την αποφυγή λαθών, τα παιδία που έχουν ήδη καταχωρηθεί από την σελίδα της αίτησης θα ανακτώνται και θα εμφανίζονται στα αντίστοιχα πεδία της σελίδας υπεύθυνης δήλωσης μαθημάτων. 19

21 Σχήμα 10. Υπεύθυνη δήλωση στοιχείων. 20

22 ΠΑΡΑΡΤΗΜΑ 1 ο Σχήμα 1. Είσοδος στην εφαρμογή Σχήμα 2. Μηχανή αναζήτησης 21

23 Σχήμα 3. Μηχανή αναζήτησης καταχώρηση ανάθεσης Σχήμα 4. Κύρια σελίδα αναθέσεων 22

24 Σχήμα 5. Αναζήτηση λανθασμένης καταχώρησης Σχήμα 6. Μηχανή αναζήτησης Εμφάνισης Αναθέσεων 23

25 Σχήμα 7. Καταχώρηση αριθμών συμβουλίων Σχήμα 8. Καταστάσεις Σχήμα 9. Καταχώρηση Σύμβασης 24

26 Σχήμα 10. Υπεύθυνη δήλωση στοιχείων 25

27 3.ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 3.1. Γενικά. Για την δημιουργία της βάσης δεδομένων που χρησιμοποίησα στην εφαρμογή, χρησιμοποίησα το σύστημα διαχείρισης βάσεων δεδομένων MySQL. Η εφαρμογή που ανέπτυξα διαχειρίζεται ένα πολύ μεγάλο όγκο δεδομένων. Για τον λόγο αυτό ανέπτυξα ένα σύστημα πινάκων, προτιμώντας να έχω λίγους και μεγάλους πίνακες και όχι πολλούς και μικρούς. Έκανα αυτήν την επιλογή γιατί η εφαρμογή έπρεπε να εμφανίζει πολλά δυναμικά κείμενα που αντλούσαν πληροφορίες από την βάση δεδομένων μας. Έτσι κατά την γνώμη μου αν είχα πολλούς και μικρούς πίνακες θα έπρεπε να κάνω και πολλές αναζητήσεις με αποτέλεσμα να υπάρχει καθυστέρηση στην εμφάνιση των πληροφοριών. Παρακάτω βλέπουμε τους πίνακες που χρησιμοποίησα και τον τρόπο που συνδέονται μεταξύ τους. Οι πίνακες που παρακάτω αφορούν μόνο το κομμάτι της εφαρμογής που είχα αναλάβει. Σχήμα 11. Σχέσεις πινάκων 26

28 3.2. Ανάλυση των Πινάκων Αρχικά πρέπει να αναφέρω ότι οι πίνακες που θα αναλυθούν παρακάτω είναι αυτοί που έχουν σχέση με το δικό μου δεύτερο μισό κομμάτι της εφαρμογής, παρόλα αυτά κάποια στοιχεία και κάποια πεδία από τους πίνακες χρησιμοποιούνται και από το πρώτο μισό της εφαρμογής, για το λόγο αυτό κάποια πεδία των πινάκων δεν θα αναλυθούν. Πίνακας teacher. Ο πίνακας teacher αποτελείτε από τριάντα οκτώ πεδία, το id το οποίο είναι το πρωτεύων κλειδί και εδώ αποθηκεύεται το password του καθηγητή το οποίο θα του δίνεται από το πρώτο κομμάτι της εφαρμογής, το f_name το οποίο περιέχει το όνομα του καθηγητή, l_name το οποίο περιέχει το επίθετο του καθηγητή, το fathername το οποίο περιέχει το όνομα του πατέρα του, το mothername το οποίο περιέχει το όνομα της μητέρας του, το birthdate που περιέχει την ημερομηνία γέννησης, το family που περιέχει την οικογενειακή κατάσταση του καθηγητή (έγγαμος ή άγαμος), το whname που περιέχει το όνομα συζύγου, το cityofbirth που περιέχει την πόλη γέννησης, το stateofbirth που περιέχει τον νομό γέννησης, το eforia που περιέχει την ΔΟΥ στην οποία ανήκει ο χρήστης, το afm που περιέχει τον αριθμό φορολογικού μητρώου του χρήστη, το address που περιέχει την διεύθυνση κατοικίας, το place που περιέχει την περιοχή κατοικίας, το tk που περιέχει τον ταχυδρομικό κώδικα, το mail όπου αποθηκεύεται η διεύθυνση του του χρήστη, τα phone1 phone2 και mobilephone που αποθηκεύονται διάφοροι αριθμοί τηλεφώνου, το primaryjob που αποθηκεύεται η κύρια εργασία του χρήστη, το asfalnumber όπου αποθηκεύεται ο αριθμός μητρώου της ασφάλισης του χρήστη, το childrennumber που περιέχει τον αριθμό παιδιών, το peireosnumber που περιέχει τον αριθμό λογαριασμού του χρήστη στην τράπεζα Πειραιώς, το dateof taftotita που περιέχει την ημερομηνία έκδοσης της αυτότητας, το epagelma όπου καταγράφεται αν ο χρήστης είναι δημόσιος ή ιδιωτικός υπάλληλος, το jobaddress που περιέχει την διεύθυνση εργασίας του χρήστη, το jobphone το οποίο περιέχει τον αριθμό τηλεφώνου στον εργασιακό χώρο του χρήστη, το placeoftautotita που περιέχει το αστυνομικό τμήμα στο οποίο εκδόθηκε η ταυτότητα του χρήστη, το adiaapasxolisis εδώ αποθηκεύεται η πληροφορία για το αν έχει επιτραπεί τον χρήστη να εργαστεί στην σχολή του τμήματος Διαχείρισης Πληροφοριών, το foreasasfal όπου αποθηκεύεται ο φορέας ασφάλισης του χρήστη (Πίνακας 1) 27

29 Field Type Null Key Default Extra Id Int(11) PRI f_name Char(20) l_name Char(20) Fathername Char(20) Mothername Char(20) Birthdate Date Family Enum Whname Char(25) Cityofbirth Char(30) Stateofbirth Char(30) Eforia Char(25) Afm Int(11) Adt Char(10) Address Char(30) Place Char(25) City Char(30) Tk Char(8) Mail Char(30) Phone1 Char(15) Phone2 Char(15) Mobilephone Char(15) Primaryjob Char(30) Asfalumber Char(15) Childrennumber Tinyint Peireosnumber Char(20) Dateoftaftotita Date Epagelma Enum Epidomapaidionfromjob Tinyint(4) Jobaddress Char(30) Jobphone Char(15) Placeoftaftotita Char(25) Kindofasfalisi enum Prinmeta Enum Adeiaapasxolisis Enum Katastasi Enum Id_user Int(11) Date Date foreasasfal enum Σχήμα 12. Πίνακας teacher Πίνακας aitisi. Ο πίνακας aitisi αποτελείτε από ένδεκα πεδία από τα οποία μόνο τα πέντε θα αναλύσω. Έτσι το πεδίο id είναι το κλειδί του πίνακα, το id_teacher όπως καταλαβαίνουμε είναι το κύριο κλειδί του πίνακα teacher και είναι το σημείο σύνδεσης του teacher με τον πίνακα aitisi, στο day αποθηκεύεται η ημερομηνία που έγινε η αίτηση μέσω της εφαρμογής, στο akadetos αποθηκεύεται το ακαδημαϊκό έτος 28

30 για το οποίο έγινε η αίτηση και τέλος στο πεδίο bathmida αποθηκεύεται η βαθμίδα του καθηγητή ανάλογα με την ανάθεσή που του έχει γίνει. Field Type Null Key Default Extra Id Int(10) PRI Id_teacher Int(11) math Char(30) thea Tinyint(4) Tomeas Char(30) Day date time Char(8) Hours Tinyit(4) Akadetos Char(10) Tmima Char(30) bathmida enum Σχήμα 13. Πίνακας aitisi Πίνακας simvoulnum. Ο πίνακας simvoulnum δημιουργήθηκε με σκοπό να διευκολύνει τον χρήστη κατά την χρήση της εφαρμογής. Στον πίνακα simvoulnum αποθηκεύονται οι αριθμοί και οι ημερομηνίες των αποφάσεων της γενικής συνέλευσης, του συμβουλίου, της τριμελούς επιτροπής και των προκηρύξεων του ΤΕΙ Καβάλας. Όλα αυτά τα στοιχεία είναι απαραίτητα για τη σύναψη μίας σύμβασηςή την καταχώρηση μίας ανάθεσης, έτσι για να μην χρειάζεται ο χρήστης να καταχωρεί πολλές φορές αυτά τα στοιχεία, τα αποθηκεύει αρχικά σε αυτόν τον πίνακα μέσω της σελίδας Καταχώρηση Αριθμών Συμβουλίων και στη συνέχεια η εφαρμογή κάνει ανάκτηση σε οποίες σελίδες είναι απαραίτητο. Πιο αναλυτικά στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος για το οποίο θα χρειαστούμε τους αριθμούς αυτους, στο πεδίο gen_synel_num αποθηκεύεται ο αριθμός γενικής συνέλευσης του τμήματος, στο πεδίο ar_symb_tei αποθηκεύεται ο αριθμός συμβουλίου του ΤΕΙ Καβάλας, στο πεδίο ar_prok_tei αποθηκεύεται ο αριθμός προκήρυξης του ΤΕΙ, στο πεδίο ar_trim_epitr αποθηκεύεται ο αριθμός απόφασης της τριμελούς επιτροπής του ΤΕΙ Καβάλας. Τέλος στα πεδία date2, date3, date4 και date5 αποθηκεύονται η ημερομηνίες των αποφάσεων αυτών. field type null key default Extra Akadetos Char(10) Gen_synel_num Int(11) Ar_symb_tei Int(11) 29

31 Ar_prok_tei Int(11) Ar_trim_epitr Int(11) Date2 Date Date3 Date Date4 Date Date5 Date id Int(11) PK Σχήμα 14. Πίνακας simvoulnum. Πίνακας simvasi. Ο πίνακας simvasi αποτελείται από δέκα έξη πεδία, στα οποία αποθηκεύονται οι πληροφορίες που εισάγει ο χρήστης στην σελίδα συμβάσεις της εφαρμογής (Σχήμα 9). Πιο αναλυτικά στο πεδίο id αποθηκεύεται ο αριθμός σύμβασης, στο πεδίο id_teacher αποθηκεύεται το id του καθηγητή από πού προέρχεται από τον πίνακα teacher και έτσι είναι το σημείο σύνδεσης τω δύο πινάκων, στο date αποθηκεύεται η ημερομηνία που καταχωρείτε η σύμβαση, στο πεδίο day καταχωρείτε η ημέρα που γίνεται η σύμβαση, στο πεδίο apof_symb_tei αποθηκεύεται ο αριθμός απόφασης συμβουλίου του ΤΕΙ καβάλας, στο πεδίο apof_gen_synel_dp αποθηκεύεται ο αριθμός γενικής συνέλευσης διαχείρισης πληροφοριών, εδώ πρέπει να αναφέρω ότι τα δύο τελευταία πεδία παίρνουνε τιμές η οποίες υπάρχουν ήδη στον πίνακα simvoulnum τον οποίο αναλύσαμε πριν, ο λόγος που γίνεται αυτό είναι ότι μπορεί μερικές συμβάσεις να διαρκούν περισσότερο από ένα χρόνο και επειδή ο πίνακας simvoulnum όπως έχουμε πει δεν κρατάει τις τιμές των συμβουλίων προηγούμενων ακαδημαϊκών ετών, έτσι για να μην χάνονται κάποια στοιχεία τα αποθηκεύουμε στον πίνακα simvasi ανακτώντας τα μέσω της εφαρμογής από τον πίνακα simvoulnum. Στην συνέχεια στο πεδίο year αποθηκεύεται το ακαδημαϊκό έτος κατά το οποίο καταχωρείτε η σύμβαση, στο πεδίο hours αποθηκεύεται το σύνολο των ορών που ανατεθήκαν στον καθηγητή, στο πεδίο bathmida καταχωρείται η βαθμίδα του καθηγητή, στα πεδία f_name και l_name αποθηκεύεται το ονοματεπώνυμο του καθηγητή, στο πεδίο tropop αποθηκεύεται η επιλογή για το αν είναι τροποποιημένη ή όχι η σύμβαση, στο πεδίο orpliromi αποθηκεύεται η ωριαία αποζημίωση του καθηγητή και τέλος στα πεδία enarxi και lixi αποθηκεύονται οι ημερομηνίες έναρξης και λήξης της σύμβασης. Field type null key default extra Id Int(11) PK Id_teacher Int(11) 30

32 Date Day Apof_symb_tei Apof_gen_synel_dp Year Hours Bathmida F_name L_name Dateapof Tropop Orpliromi Enarxi Lixi Date Enum Char(6) Char(6) Char(10) Char(3) Enum Char(20) Char(20) date Enum Int(11) Date Date Σχήμα 15. πίνακας simvasi Πίνακας course. O πίνακας course προέρχεται από μία βάση δεδομένων μίας άλλης εφαρμογής της σχολής και τον χρησιμοποίησα γιατί περιείχε πληροφορίες για τα μαθήματα της σχολής. Έτσι χρησιμοποιώ αυτές τις πληροφορίες για τις ανάγκες της εφαρμογής. Πιο αναλυτικά παίρνω τις πληροφορίες που ήδη υπάρχουν στα πεδία id, name και type. Στο πεδίο id υπάρχει ο αύξον αριθμός του μαθήματος, στο πεδίο name το όνομα του μαθήματος και στο πεδίο type υπάρχει η πληροφορία για το αν πρόκειται για εργαστήριο, για θεωρία ή για ασκήσεις. field type null key default extra Id Tinyint(3) PK Name Char(150) Type Char(2) Hours_per_week Tinyint(3) Id_semester Tinyint(3) Id_teacher Tinyint(3) Short_name Char(20) Max_students Tinyint(3) Min_students Tinyint(3) Avr_students Tinyint(3) Σχήμα 16. Πίνακας course. Πίνακας mathima. Ο πίνακας mathima αποτελείτε από ένδεκα πεδία στα οποία αποθηκεύονται δεδομένα από την σελίδα αναθέσεις της εφαρμογής. Τα δεδομένα αυτά έχουν σχέση με το μάθημα που ανατέθηκε στον καθηγητή τις ώρες κ.τ.λ. Πιο 31

33 αναλυτικά στο πεδίο id αποθηκεύεται ο αριθμός id από τον πίνακα course μετά από ανάκτηση που γίνεται από την εφαρμογή, στο πεδίο id_teacher αποθηκεύεται το id του καθηγητή από τον πίνακα teacher, στο πεδίο hoursth αποθηκεύεται το σύνολο των ορών θεωρίας που ανατίθενται στον καθηγητή, στο πεδίο hoursask αποθηκεύεται το σύνολο των ορών ασκήσεων πράξης στον καθηγητή, στο πεδίο hourserg οι ώρες εργαστηρίου που του ανατέθηκαν, στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος στο οποίο γίνεται η ανάθεση του μαθήματος του οποίου η τιμή προέρχεται από τον πίνακα simvoulum και αποθηκεύεται στον πίνακα mathima μετά από ανάκτηση, τέλος στο πεδίο tropop αποθηκεύεται το αν η ανάθεση του μαθήματος έγινε μετά από νέα ανάθεση ή μετά από τροποποίηση. field type null key default Extra Id Int(11) PK Id_teacher Int(11) Hours Tinyint(4) Ypoxrepilog Enum Katigoria Enum hoursth Int(11) Hoursask Int(11) Hourserg Int(11) examino Enum Akadetos Char(2) tropop enum Σχήμα 17. Πίνακας mathima Πίνακας anathesi. Ο πίνακας anathesi είναι ένας από τους βασικότερους της εφαρμογής και αποτελείται από είκοσι δύο πεδία. Σε αυτόν αποθηκεύονται όλα τα στοιχεία μίας ανάθεσης, αλλά από αυτόν ανακτώνται στοιχεία από παλαιότερες αναθέσεις όταν ο χρήστης ζητάει βεβαίωση προϋπηρεσίας. Πιο αναλυτικά στο πεδίο id αποθηκεύεται ο αύξων αριθμός της ανάθεσης, στο πεδίο id_teacher αποθηκεύεται ο αριθμός id του καθηγητή και είναι ίδιος με τον αριθμό id από τον πίνακα teacher, στο πεδίο id_mathima αποθηκεύεται το id του μαθήματος που το παίρνουμε από τον πίνακα mathima, στο πεδίο etos αποθηκεύεται το έτος κατά το οποίο έγινε η ανάθεση, στο πεδίο examino αποθηκεύεται η πληροφορία για το αν η ανάθεση γίνεται χειμερινό ή εαρινό εξάμηνο, στο πεδίο lastofsimvasi υπάρχει η πληροφορία για το είδος σύμβασης, στο πεδίο pliromi αποθηκεύεται η πληροφορία για το από πού πληρώνεται ο εκπαιδευτικός, στο πεδίο date καταχωρείται η ημερομηνία της 32

34 ανάθεσης, στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος κατά το οποίο έγινε η ανάθεση, στο πεδίο tropop καταχωρείται η πληροφορία για το αν πρόκειτε για τροποποίηση ή για νέα ανάθεση, στα πεδία tropopnum και tropopday αποθηκεύονται ο αριθμός τροποποίησης και η ημερομηνία σε περίπτωση τροποποίησης, στο πεδίο bathmida αποθηκεύεται η βαθμίδα του εκπαιδευτικού. Τέλος στα πεδία gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4 και date5 καταχωρούνται οι αριθμοί αποφάσεων των συμβουλίων του ΤΕΙ Καβάλας και όπως έχουμε αναφέρει ήδη ανακτώνται από τον πίνακα simvoulnum και αποθηκεύονται και στον πίνακα anathesi. Επειδή ο πίνακας simvoulnum διατηρεί στοιχεία μόνο για το τρέχον ακαδημαϊκό έτος αυτά τα στοιχειά πρέπει να διατηρούνται έτσι ώστε να υπάρχουν σε περίπτωση που ο χρήστης χρειαστεί να ανακτήσει παλαιότερες αναθέσεις με σκοπό να εκδώσει βεβαίωση προϋπηρεσίας. field type null key default extra Id Int(11) PK Id_teacher Int(11) Id_mathima Int(11) Etos Char(10) Examino Enum Last0fsimvasi Enum Pliromi Enum Date date Katastasi Enum Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11) Date2 Date Date3 Date Date4 Date Date5 Date Akadetos Char(10) Tropop Enum Bathmida Enum Tropopum Tinyint(4) Tropopday Date Σχήμα 18. Πίνακας anathesi. 33

35 ΠΑΡΑΡΤΗΜΑ 2 ο Σχήμα 11. Σχέσεις των Πινάκων της βάσης δεομένων. Σχήμα 12. Πίνακας Teacher. Field Type Null Key Default Extra Id Int(11) PRI f_name Char(20) l_name Char(20) Fathername Char(20) Mothername Char(20) Birthdate Date Family Enum Whname Char(25) Cityofbirth Char(30) Stateofbirth Char(30) Eforia Char(25) Afm Int(11) Adt Char(10) Address Char(30) Place Char(25) City Char(30) 34

36 Tk Char(8) Mail Char(30) Phone1 Char(15) Phone2 Char(15) Mobilephone Char(15) Primaryjob Char(30) Asfalumber Char(15) Childrennumber Tinyint Peireosnumber Char(20) Dateoftaftotita Date Epagelma Enum Epidomapaidionfromjob Tinyint(4) Jobaddress Char(30) Jobphone Char(15) Placeoftaftotita Char(25) Kindofasfalisi enum Prinmeta Enum Adeiaapasxolisis Enum Katastasi Enum Id_user Int(11) Date Date foreasasfal enum Σχήμα 13. Πίνακας aitisi. Field Type Null Key Default Extra Id Int(10) PRI Id_teacher Int(11) math Char(30) thea Tinyint(4) Tomeas Char(30) Day date time Char(8) Hours Tinyit(4) Akadetos Char(10) Tmima Char(30) bathmida enum Σχήμα 14. Πίνακας Simvoulnum. field type null key default Extra Akadetos Char(10) Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11) Date2 Date 35

37 Date3 Date Date4 Date Date5 Date id Int(11) PK Σχήμα 15. Πίνακας simvasi. Field type null key default extra Id Int(11) PK Id_teacher Int(11) Date Date Day Enum Apof_symb_tei Char(6) Apof_gen_synel_dp Char(6) Year Char(10) Hours Char(3) Bathmida Enum F_name Char(20) L_name Char(20) Dateapof date Tropop Enum Orpliromi Int(11) Enarxi Date Lixi Date Σχήμα 16. Πίνακας course. field type null key default extra Id Tinyint(3) PK Name Char(150) Type Char(2) Hours_per_week Tinyint(3) Id_semester Tinyint(3) Id_teacher Tinyint(3) Short_name Char(20) Max_students Tinyint(3) Min_students Tinyint(3) Avr_students Tinyint(3) Σχήμα 17. Πίνακας mathima. field type null key default Extra Id Int(11) PK Id_teacher Int(11) Hours Tinyint(4) Ypoxrepilog Enum 36

38 Katigoria hoursth Hoursask Hourserg examino Akadetos tropop Enum Int(11) Int(11) Int(11) Enum Char(2) enum Σχήμα 18. Πίνακας anathesi. field type null key default extra Id Int(11) PK Id_teacher Int(11) Id_mathima Int(11) Etos Char(10) Examino Enum Last0fsimvasi Enum Pliromi Enum Date date Katastasi Enum Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11) Date2 Date Date3 Date Date4 Date Date5 Date Akadetos Char(10) Tropop Enum Bathmida Enum Tropopum Tinyint(4) Tropopday Date 37

39 4. ΑΝΑΛΥΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 4.1. Γενικά. Η εφαρμογή που περιγράφουμε σε αυτό το εγχειρίδιο έχει γραφεί σε γλώσσα HTML και TCL. Ενσωματώνοντας την HTML μέσα στην TCL, δημιουργούμε ένα δυνατό εργαλείο για την ανάπτυξη web εφαρμογών. Η εφαρμογή είναι ένα προϊόν ανοιχτού κώδικα και μπορεί να προσαρμοστεί σε όποιες αλλαγές κριθούν απαραίτητες στο μέλλον. Η MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που επιτρέπει την γρήγορη και αποτελεσματική αναζήτηση, αποθήκευση, ταξινόμηση και ανάκληση των δεδομένων με χρήση ερωτημάτων. Έτσι ήταν μια καλή επιλογή για την εφαρμογή μας ένα τέτοιο εργαλείο, που μας παρέχει αξιοπιστία, ασφάλεια και ταχύτητα. Πριν ξεκινήσω την ανάλυση του κώδικα υλοποίησης της εφαρμογής πρέπει να αναφέρω ότι για να αναπτύξω την εφαρμογή ήταν απαραίτητος ένας διακομιστής, έτσι για λόγους ευελιξίας χρησιμοποίησα τον Apache διακομιστή, έτσι ώστε να μην είναι απαραίτητη η χρήση του διαδυκτίου Εισαγωγική σελίδα. Η εισαγωγική σελίδα της εφαρμογής έχει ένδεκα κουμπιά τα οποία αποτελούν και τις επιλογές που μπορεί να κάνει ο χρήστης. Το κάθε κουμπί οδηγεί τον χρήστη και σε διαφορετική λειτουργία. Στην συνέχεια θα αναλύσουμε τον κώδικα της κάθε λειτουργίας. Ο κώδικας για την προβολή του σχήματος 1 περιγράφεται παρακάτω: 1 <html> 2 <body bgcolor="#d9f2ff" > 3 <table border="0" WIDTH=900 align="center" bgcolor="#d9f2ff"> 4 <tr> 5 <td align="center"><img src="images/imd_logo2.jpg"></td> 6 <td align="center"><img src="images/tei3.gif"></td> 7 <td align="center"><img src="images/teiblue.gif"></td> 8 </tr> 9 <tr> 10 <td colspan="3">&nbsp</td> 11 </tr> 12 <form name="lo" action="cgi-bin/simvoulnum.tcl" method="post"> 13 <tr> 38

40 14 <td align="center" colspan="3"><p><button name="b1" style="width: 300; height: 40" onclick="lo.submit()"><p><b><font size="2">καταχωρηση ΑΡΙΘΜΩΝ ΣΥΜΒΟΥΛΙΩΝ</font></b></p> </button></p><td> 15 </tr> 16 </form> 17 <form name="a" action="cgi-bin/anathesis.tcl" method="post"> 18 <tr> 19 <td align="center" colspan="3"><p><button name="b1" style="width: 300; height: 40" onclick="a.submit()"><p><b><font size="2">καταχωρηση ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 20 </tr> 21 </form> 22 <form name="y" action="cgi-bin/diorthanathesis.tcl" method="post"> 23 <tr> 24 <td align="center" colspan="3"><p><button name="b9" style="width: 300; height: 40" onclick="y.submit()"><p><b><font size="2">διορθωση ΚΑΤΑΧΩΡΗΜΕΝΗΣ ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 25 </tr> 26 </form> 27 <form name="b" action="cgi-bin/anathesis4.tcl" method="post"> 28 <tr> 29 <td align="center" colspan="3"><p><button name="b2" style="width: 300; height: 40" onclick="b.submit()"><p><b><font size="2">εμφανιση ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 30 </tr> 31 </form> 32 <form name="c" action="cgi-bin/aitisi0.tcl" method="post"> 33 <tr> 34 <td align="center" colspan="3"><p><button name="b3" style="width: 300; height: 40" onclick="c.submit()"><p><b><font size="2">υπευθυνη ΔΗΛΩΣΗ ΣΤΟΙΧΕΙΩΝ</font></b></p> </button></p><td> 35 </tr> 36 </form> 37 <form name="c1" action="cgi-bin/dilosi.tcl" method="post"> 38 <tr> 39 <td align="center" colspan="3"><p><button name="b4" style="width: 300; height: 40" onclick="c1.submit()"><p><b><font size="2">εμφανιση ΥΠΕΥΘΥΝΗΣ ΔΗΛΩΣΗΣ </font></b></p> </button></p><td> 40 </tr> 41 </form> 42 <form name="d" action="cgi-bin/katastaseis.tcl" method="post"> 43 <tr> 44 <td align="center" colspan="3"><p><button name="b5" style="width: 300; height: 40" onclick="d.submit()"><p><b><font size="2">καταστασεισ </font></b></p> </button></p><td> 45 </tr> 46 </form> 47 <form name="o" action="cgi-bin/simvaseis00.tcl" method="post"> 48 <tr> 49 <td align="center" colspan="3"><p><button name="b6" style="width: 300; height: 40" onclick="o.submit()"><p><b><font size="2">συμβασεισ</font></b></p> </button></p><td> 50 </tr> 51 </form> 52 <form name="yd" action="cgi-bin/diorthsimvaseis00.tcl" method="post"> 53 <tr> 54 <td align="center" colspan="3"><p><button name="b11" style="width: 300; height: 40" onclick="yd.submit()"><p><b><font size="2">διορθωση ΚΑΤΑΧΩΡΗΜΕΝΗΣ ΣΥΜΒΑΣΗΣ</font></b></p> </button></p><td> 55 </tr> 56 </form> 57 <form name="o1" action="cgi-bin/emfansimvas.tcl" method="post"> 39

41 58 <tr> 59 <td align="center" colspan="3"><p><button name="b7" style="width: 300; height: 40" onclick="b7.submit()"><p><b><font size="2">εμφανιση ΣΥΜΒΑΣΕΩΝ</font></b></p> </button></p><td> 60 </tr> 61 </form> 62 <form name="v" action="cgi-bin/bebeoseis.tcl" method="post"> 63 <tr> 64 <td align="center" colspan="3"><p><button name="b8" style="width: 300; height: 40" onclick="v.submit()"><p><b><font size="2">βεβαιωσεισ ΠΡΟΫΠΗΡΕΣΙΑΣ </font></b></p> </button></p><td> 65 </tr> 66 </form> 67 </table> 68 </body> 69 </html> Όπως φαίνεται και στον κώδικα, έχουμε την έναρξη και τη λήξη μιας ιστοσελίδας με την ετικέτα HTML, στην γραμμή 1 έχουμε τη έναρξη και στη γραμμή 69 την λήξη. Από την γραμμή 2 ξεκινά η ενότητα body της ιστοσελίδας στην οποία όπως βλέπουμε καθορίζεται και το χρώμα του φόντου που θα έχει η σελίδα με την ετικέτα BGCOLOR. Στην γραμμή 3 βλέπουμε την ετικέτα TABLE με την οποία δημιουργούμε πίνακες που είτε θα είναι ορατοί στις ιστοσελίδες μας είτε όχι, αυτή η επιλογή καθορίζεται από την ετικέτα BORDER η οποία περιέχεται στην ετικέτα TABLE όπως βλέπουμε στην γραμμή 3. Έτσι αν η ετικέτα BORDER είναι 0 τότε οι γραμμές του πίνακα δεν είναι ορατές αν όμως η ετικέτα BORDER πάρει τιμές από 1 και πάνω τότε οι γραμμές του πίνακα είναι ορατές και μάλιστα όσο πιο μεγάλος είναι ο αριθμός τόσο πιο χονδρές είναι οι γραμμές. Στην συνέχεια στη ίδια γραμμή βλέπουμε και τις ετικέτες WIDTH, ALIGN και BGCOLOR. Με την ετικέτα WIDTH καθορίζουμε το μήκος της γραμμής του πίνακα, με την ετικέτα ALIGN ελέγχουμε την στοίχιση του πίνακα αριστερά στο κέντρο ή δεξιά δίνοντας την επιλογή left center και right αντίστοιχα. Με την ετικέτα BGCOLOR επιλέγουμε το χρώμα του φόντου που θα έχει ο πίνακάς μας. Τα αντικείμενα που περιέχει η σελίδα μας είναι τρεις εικόνες και ένδεκα κουμπιά. Για να τα διατάξουμε όλα αυτά στην σελίδα και για να εμφανίζονται σε όλους τους browsers και σε όλων των διαστάσεων οθόνες υπολογιστών τα έβαλα σε έναν πίνακα τριών στηλών και δεκατριών γραμμών. Στην γραμμή 4 με την ετικέτα TR δημιουργώ την πρώτη γραμμή του πίνακα και με την ετικέτα TD στις γραμμές 5, 6 και 7 δημιουργώ τρία κελιά στα οποία περιλαμβάνονται οι τρεις εικόνες που 40

42 θέλουμε να εμφανίζονται. Έτσι στο πρώτο κελί εμφανίζεται η εικόνα imd_log2.jpg, στο δεύτερο κελί εμφανίζεται η εικόνα tei3.gif και στο τρίτο κελί η εικόνα teiblue.gif. Οι εικόνες τοποθετούνται στην σελίδα με την ετικέτα IMG στην οποία αναγράφουμε την διαδρομή που θα ακολουθήσει ώστε να βρει και να εμφανίσει τις εικόνες των οποίων το όνομα γράφουμε. Στην γραμμή 8 κλείνω την ετικέτα TR. Στις γραμμές 9, 10 και 11 δημιουργώ μία ακόμη γραμμή η οποία περιέχει την ετικέτα COLSPAN με την οποία κάνω συγχώνευση τριών κελιών με σκοπό να τα αφήσω κενά για να αφήσω μια μικρή απόσταση μετάξι των εικόνων που έβαλα παραπάνω και των κουμπιών που θα περιγράψω παρακάτω. Από την γραμμή 12 ξεκινάει ουσιαστικά η λειτουργία του πρώτου κουμπιού και τελειώνει στην γραμμή στην γραμμή 16. Αυτή η διαδικασία θα επαναληφθεί άλλες δέκα φορές μέχρι την γραμμή 66 με την μόνη διαφορά ανάμεσά τους τα ονόματα των μεταβλητών τους. Έτσι πιο αναλυτικά στην γραμμή 12 βλέπουμε την ετικέτα FORM με την οποία γίνεται η έναρξη μίας φόρμας. Μία φόρμα αποτελείται από δύο βασικά μέρη: τη δομή και το σενάριο επεξεργασίας. Η δομή μιας φόρμας αποτελείται από πλαίσια κειμένου, ραδιοπλήκτρα, πτυσσόμενα μενού και άλλα στοιχεία τα οποία βοηθούν στην επεξεργασία δεδομένων. Το κάθε στοιχείο της φόρμας έχει ένα όνομα που προσδιορίζει την τιμή που θα περιέχει. Το σενάριο CGI όπως έχω αναφέρει είναι ένα πρόγραμμα που επικοινωνεί με τον διακομιστή με μία τυποποιημένη μέθοδο (τύπου CGI) για ανταλλαγή πληροφοριών. Απαραίτητο στοιχείο σε μία φόρμα είναι το κουμπί υποβολής (submit). Όταν ο χρήστης το πατάει, τα δεδομένα των στοιχείων της φόρμας, στέλνονται στον διακομιστή και μετατρέπονται μέσω του σεναρίου CGI σε κάτι που θα μπορεί να διαβαστεί και α κατανοηθεί. Οι πληροφορίες αυτές μπορούν να σταλούν στο διακομιστή με δυο μεθόδους: την GET και την POST. H μέθοδος GET στέλνει τις πληροφορίες στο τέλος του URL και σε περιορισμένη ποσότητα, ενώ η μέθοδος POST τις στέλνει με την μορφή ενός αρχείου με αποτέλεσμα να στέλνεται όλη η πληροφορία, χωρίς την αμφιβολία της αποκοπής δεδομένων. Επομένως στη γραμμή 12 όπου γίνεται η έναρξη της δημιουργίας μιας φόρμας, βλέπουμε τις ιδιότητες ACTION και METHOD. Η ιδιότητα ACTION δηλώνει την θέση που θα εκτελεστεί το σενάριο CGI στον διακομιστή όταν υποβληθεί η φόρμα, cgi-bin/simvoulnum.tcl και η ιδιότητα METHOD με την οποία θα σταλούν οι πληροφορίες των στοιχείων της φόρμας στο σενάριο CGI, που είναι POST. 41

43 Στην γραμμή 14 αφού συγχωνεύσω τρία κελιά με τον τρόπο που περιγράφω παραπάνω, με την ετικέτα BUTTON δημιουργώ ένα κουμπί και του δίνω διαστάσεις με την ετικέτα STYLE όπου καθορίζω το μήκος και το ύψος του. Με την ετικέτα ONCLICK καθορίζω την λειτουργία που θα κάνει. Στην προκειμένη περίπτωση καθορίζω ότι με το πάτημα του κουμπιού θα καλείτε τη φόρμα με το όνομα lo και με την ετικέτα submit θα εκτελείτε η εντολή που δώσαμε στην φόρμα να κάνει στην γραμμή 12. Αυτή η διαδικασία επαναλαμβάνεται μέχρι την γραμμή 66. στην γραμμή 67 κλείνω την ετικέτα TABLE, στην γραμμή 68 κλείνω την ετικέτα BODY και τέλος στην γραμμή 69 κλείνω την ετικέτα HTML Συμπλήρωση αριθμών συμβουλίων Πατώντας το πρώτο κουμπί «Καταχώρηση Αριθμών Συμβουλίων» της εισαγωγικής σελίδας οδηγούμαστε στην σελίδα του σχήματος 7, στην οποία ο χρήστης καλείται να συμπληρώσει τα πεδία με τα αντίστοιχα στοιχεία. Στην συνέχεια πατώντας το κουμπί καταχώρηση δίνει την εντολή να αποθηκευτούν αυτά τα στοιχειά Στην βάση δεδομένων της εφαρμογής. Σχήμα 7. Καταχώρηση αριθμών συμβουλίων Παρακάτω περιγράφεται ο κώδικας για την εμφάνιση της σελίδας του σχήματος 7. 1 #!/usr/local/activetcl/bin/tclsh 2 # 42

44 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 Puts <html> 9 puts <body\ bgcolor="#d9f2ff"> 10 puts <form\ name="f5"\ action="simvoulnum1.tcl"\ method="post"> 11 puts <table\ align="center"\ width=990\ align="center"\ bgcolor="#d9f2ff"> 12 puts <tr> 13 puts <tr> 14 puts <td\ colspan="4">&nbsp</td> 15 puts </tr> 16 puts <tr> 17 puts <td\ colspan="4">&nbsp</td> 18 puts </tr> 19 puts <tr> 20 puts <td\ colspan="4">&nbsp</td> 21 puts </tr> 22 puts <tr> 23 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 24 puts <td><input\ type="text"\ name="akadetos"></td> 25 puts </tr> 26 puts <tr> 27 puts <td\ colspan="4"><hr></td> 28 puts </tr> 29 puts <tr> 30 puts <td\ align="right">αριθμός\ πράξης\ πρόσληψης\ Γενικής\ συνέλευσης</td> 31 puts <td><input\ type="text"\ name="a1"></td> 32 puts <td\ align="right">ημερομηνία</td> 33 puts <td><input\ type="text"\ name="dat1"></td> 34 puts </tr> 35 puts <tr> 36 puts <td\ colspan="4"><hr></td> 37 puts </tr> 38 puts <tr> 39 puts <td\ align="right">αριθμός\ Πράξης\ συμβουλίου\ ΤΕΙ</td> 40 puts <td><input\ type="text"\ name="a2"></td> 41 puts <td\ align="right">ημερομηνία</td> 42 puts <td><input\ type="text"\ name="dat2"></td> 43 puts </tr> 44 puts <tr> 45 puts <td\ colspan="4"><hr></td> 46 puts </tr> 47 puts <tr> 48 puts <td\ align="right">αριθμός\ προκήρυξης\ από\ ΤΕΙ</td> 49 puts <td><input\ type="text"\ name="a3"></td> 50 puts <td\ align="right">ημερομηνία</td> 51 puts <td><input\ type="text"\ name="dat3"></td> 52 puts </tr> 53 puts <tr> 54 puts <td\ colspan="4"><hr></td> 55 puts </tr> 56 puts <tr> 57 puts <td\ align="right">αρ.\ Αποφ.\ Γεν.\ Συνέλ.\ Ορισμού\ τριμελούς\ εισηγητικής\ επιτροπής</td> 58 puts <td><input\ type="text"\ name="a4"></td> 59 puts <td\ align="right">ημερομηνία</td> 60 puts <td><input\ type="text"\ name="dat4"></td> 61 puts </tr> 43

45 62 puts <tr> 63 puts <td\ colspan="4">&nbsp</td> 64 puts </tr> 65 puts <tr> 66 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 67 puts </tr> 68 puts </table> 69 puts <form> 70 puts <script\ language="javascript"\ type="text/javascript"> 71 puts <!-- 72 set f1 [lindex [sql "select * from simvoulnum where (id=1)"] 0] 73 puts f5.akadetos.value="[lindex $f1 1]"\; 74 puts f5.a1.value="[lindex $f1 2]"\; 75 puts f5.dat1.value="[lindex $f1 6]"\; 76 puts f5.a2.value="[lindex $f1 3]"\; 77 puts f5.dat2.value="[lindex $f1 7]"\; 78 puts f5.a3.value="[lindex $f1 4]"\; 79 puts f5.dat3.value="[lindex $f1 8]"\; 80 puts f5.a4.value="[lindex $f1 5]"\; 81 puts f5.dat4.value="[lindex $f1 9]"\; 82 puts --> 83 puts </script> 84 puts </body> 85 puts </html> Όπως μπορούμε να καταλάβουμε από τον κώδικα που βλέπουμε παραπάνω είναι γραμμένος στην γλώσσα προγραμματισμού TCL και εμπεριέχει εντολές HTML. Για να μπορέσουμε να ενσωματώσουμε κώδικα HTML μέσα σε κώδικα TCL πρέπει στην αρχή κάθε γραμμής που περιέχει εντολές HTML να βάζουμε την ετικέτα PUTS, στην συνεχεία όπου υπάρχει κενό βάζουμε μία κάθετο ( \ ). Στο εξής όλες οι σελίδες που θα παρουσιάσω είναι γραμμένες σε γλώσσα TCL με ενσωματωμένες εντολές HTML και σε όλες οι επτά πρώτες γραμμές είναι ίδιες. Στην γραμμή 1 δίνεται η πληροφορία στον server ότι η σελίδα είναι γραμμένη σε γλώσσα TCL. Στην γραμμή 3 αναφέρεται ότι περιέχονται εντολές σε γλώσσα HTML, στην γραμμή 4 συνδέεται ένα κομμάτι κώδικα με την ονομασία script το οποίο είναι υπεύθυνο να διαβάζει και να διαχωρίζει τις εντολές που προέρχονται από την προηγούμενη σελίδα. Στην γραμμή 5 φορτώνεται το αρχείο fbsql.dll το οποίο είναι ο συνδετικός κρίκος με την βάση δεδομένων. Στην γραμμή 6 γίνεται η σύνδεση της σελίδας με την βάση δεδομένων στην οποία υπάρχουν όλοι οι πίνακες που ανέλυσα παραπάνω και αυτή η εντολή απευθύνεται στην MySQL δίνοντας τους κωδικούς που απαιτούνται για να συνδεθούμε με την βάση. Τέλος στην γραμμή 7 επιλέγεται το σύστημα πινάκων με όνομα TEACHMAN. Από την σειρά 8 με την ετικέτα HTML αρχίζει μια σελίδα γραμμένη σε γλώσσα HTML η οποία έχει προσαρμοστεί έτσι ώστε να δουλεύει σε μορφή TCL. 44

46 Στην γραμμή 9 αρχίζει η ενότητα BODY και στην ίδια γραμμή περιλαμβάνεται και η ετικέτα BGCOLOR με την οποία προσδιορίζεται το χρώμα στο φόντο της ιστοσελίδας. Στην γραμμή 10 βλέπουμε την αρχή μίας φόρμας με όνομα f5 και η οποία κάθε φορά που ο χρήστης θα πατάει το κουμπί στο τέλος της σελίδας με όνομα ΚΑΤΑΧΩΡΗΣΗ θα εκτελείται το σενάριο CGI στην θέση simvoulum1.tcl με την μέθοδο POST. Στην γραμμή 10 δημιουργώ έναν πίνακα ο οποίος είναι στοιχισμένος στο κέντρο και έχει μήκος γραμμής 990. Στις γραμμές 22, 23, 24 και 25 δημιουργώ μία νέα γραμμή με δύο κελιά στον πίνακα όπου στο πρώτο κελί το οποίο δημιουργείται στη γραμμή 23 του κώδικα γράφω το όνομα που θέλω να εμφανίζεται η σελίδα και θέλω να αντιπροσωπεύει το πλαίσιο κειμένου που θέλω να εμφανίζεται διπλά του. Στην γραμμή 24 χρησιμοποιώ την ετικέτα INPUT (εισαγωγή) με ΤYPE (τύπο) text και name (όνομα) akadetos που σημαίνει ότι δημιουργώ ένα πλαίσιο κειμένου στο οποίο ο χρήστης θα πληκτρολογεί τις πληροφορίες που θέλει να υποθηκεύσει και πατώντας το κουμπί καταχώρηση αυτή η πληροφορία με το όνομα akadetos μεταφέρεται στην τοποθεσία simvoulnum1.tcl όπως βλέπουμε στην φόρμα στην γραμμή 10. Πρέπει να αναφέρω ότι η ετικέτα INPOUT έχει διάφορους τύπους και αυτοί μπορεί να είναι text (κείμενο), submit (υποβολή), radiobuton (ραδιοπλήκτρου) και checkbox (κουτιού επιλογής), έτσι ανάλογα με τις ανάγκες μας χρησιμοποιούμε αυτούς τους τύπους για να συλλέγουμε τα δεδομένα που θέλουμε να επεξεργαστούμε. Αυτή τη διαδικασία δημιουργίας πλαισίων κειμένου που ακολούθησα στις γραμμές 22, 23, 24 και 25, ακολουθώ και στις γραμμές 26 έως 64 του κώδικα με σκοπό να δημιουργήσω πλαίσια κειμένου ώστε ο χρήστης να εισάγει τα απαραίτητα δεδομένα. Στην γραμμή 66 δημιουργώ ένα κουμπί με όνομα ΚΑΤΑΧΩΡΗΣΗ με το οποίο ο χρηστής θα υποβάλει την φόρμα με σκοπό να εκτελεστεί από το πρόγραμμα CGI στην τοποθεσία simvoulnum1.tcl. Στην γραμμή 70 βλέπουμε την ετικέτα SCRIPT η οποία χρησιμοποιεί τη γλώσσα JAVASCRIPT και τελειώνει στην γραμμή 83. Εδώ βλέπουμε ένα κομμάτι κώδικα το οποίο κάνει ανάκτηση δεδομένων από την βάση δεδομένων της εφαρμογής και τα εμφανίζει στα κενά πλαίσια κειμένου της σελίδας. Αυτό το κομμάτι κώδικα θα το συναντούμε πολύ συχνά στα κομμάτια κώδικα που θα αναλύσουμε παρακάτω, όπου θα εξηγήσω εκτενέστερα τον τρόπο λειτουργίας του. 45

47 4.4. Σελίδα Simvoulnum1.tcl Η σελίδα αυτή της εφαρμογής είναι ο τελευταίος κρίκος της εργασίας που γίνεται πατώντας το κουμπί ΚΑΤΑΧΩΡΗΣΗ ΑΡΙΘΜΩΝ ΣΥΜΒΟΥΛΙΩΝ της εισαγωγικής σελίδας. Αυτό που βλέπει ο χρήστης φθάνοντας σε αυτή την σελίδα είναι ένα μήνυμα το οποίο τον ενημερώνει ότι η καταχώριση που επιθυμούσε πραγματοποιήθηκε με επιτυχία. Παρακάτω βλέπουμε τον κώδικα αυτής της σελίδας. 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "insert into simvoulnum (akadetos, gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5) values (\"$akadetos\", \"$a1\", \"$a2\", \"$a3\", \"$a4\", \"$dat1\", \"$dat2\", \"$dat3\", \"$dat4\")" 9 puts <html> 10 puts <body\ bgcolor="#d9f2ff"> 11 puts <table\ align="center"> 12 puts <tr> 13 puts <td\ align="center"><p><b>η\ ΚΑΤΑΧΩΡΙΣΗ\ ΠΡΑΓΜΑΤΟΠΟΙΗΘΗΚΕ\ ΕΠΙΤΥΧΩΣ</b></p></td> 13 puts </tr> 14 puts </table> 15 puts </body> 16 puts </html> Και εδώ όπως και πριν οι 7 πρώτες γραμμές είναι ίδιες με το προηγούμενο κομμάτι κώδικα στο οποίο εξηγήσαμε και την λειτουργία τους. Στην γραμμή 8 βλέπουμε την εντολή insert της SQL με την οποία δίνεται η εντολή να αποθηκευτούν τα δεδομένα που ήρθαν από την προηγούμενη σελίδα με το πρόγραμμα CGI. Έτσι βλέπουμε στη γραμμή 8 την εντολή που λέει να εισάγουμε στον πίνακα simvoulnum στα πεδία που βρίσκονται στην πρώτη παρένθεση τα οποία είναι το akadetos, το gen_synel_num κ.τ.λ. τις τιμές που βρίσκονται στην δεύτερη παρένθεση και είναι το $akadetos, to $a1 κ.τ.λ. Για την αποφυγή παρανοήσεων θα αναφέρω ότι για παράδειγμα στο πεδίο date5 δεν θα αποθηκευτεί το $dat4 αλλά το περιεχόμενό του δηλαδή μία ημερομηνία στην προκειμένη περίπτωση η οποία πείρε το όνομα dat4 για να μεταφερθεί με το πρόγραμμα CGI, το $ μπαίνει μπροστά από το όνομα για να υποδηλώσει ότι θέλουμε το περιεχόμενο του dat4. Αν δεν βάλουμε το $ μπροστά στο όνομα τότε στην βάση θα αποθηκευτεί το όνομα και όχι το περιεχόμενό του. 46

48 Στην γραμμή 9 με την ετικέτα HTML δημιουργώ το εικονικό μέρος της σελίδας αυτής με σκοπό στην γραμμή 13 να εμφανίζεται το μήνυμα Η ΚΑΤΑΧΩΡΙΣΗ ΠΡΑΓΜΑΤΟΠΟΙΗΘΗΚΕ ΕΠΙΤΥΧΩΣ για την ενημέρωση του χρήστη Μηχανή αναζήτησης 1 ο μέρος Από αυτό το σημείο μέχρι το τέλος όλης της εφαρμογής κάθε κουμπί της εισαγωγικής σελίδας θα οδηγεί στην πρώτη σελίδα μίας μηχανής αναζήτησης, στην οποία ο χρήστης θα καλείται να πληκτρολογήσει το ονοματεπώνυμο του καθηγητή του οποίου τα στοιχεία θέλει να επεξεργαστεί. Γι αυτό τον λόγω θα εξηγήσουμε τον κώδικα αυτής της σελίδας μία φορά, δεδομένου ότι στο τέλος του εγχειριδίου αυτού θα παρατεθεί όλος ο κώδικας της εφαρμογής. Η σελίδα αυτή θα έχει την μορφή που βλέπουμε στο σχήμα 2. Σχήμα 2. Μηχανή αναζήτησης. Ο κώδικας για την εμφάνιση του παραπάνω σχήματος είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 47

49 10 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="anathesis1.tcl"\ method="post"> 14 puts <table\ align="center"\ align="center"\ bgcolor="#d9f2ff"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="right">όνομα</td> 23 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="right">επίθετο</td> 27 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 30 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table> 33 puts </form> 34 puts <form\ name="v"\ action="/index.html"\ method="post"> 35 puts <table\ align="center"> 36 puts <tr> 37 puts <td\ align="center"><input\ type="submit"\ value="επιστροφη\ ΣΤΗΝ\ ΑΡΧΙΚΗ\ ΣΕΛΙΔΑ"></td> 38 puts </tr> 39 puts </table> 40 puts </form> 41 puts </body> 42 puts </html> Όπως έχουμε δει και στα προηγούμενα κομμάτια κώδικα και εδώ οι εφτά πρώτες γραμμές είναι ίδιες. Στην γραμμή 8 με την ετικέτα HTML αρχίζει μία ιστοσελίδα και στην γραμμή 9 παρατηρούμε ότι υπάρχει η ετικέτα HEAD. Εδώ πρέπει να σημειώσω ότι ο κώδικας των σελίδων των οποίων θα αναλυθούν παρακάτω ορίζονται σε δύο ενότητες στην ενότητα HEAD και την ενότητα BODY. Στην ενότητα HEAD η οποία ξεκινά από την γραμμή 9 και τελειώνει στην γραμμή 11 περιγράφονται πληροφορίες για το url της σελίδας, επίσης στην γραμμή 10 με την ετικέτα TITLE δίνουμε όνομα στην σελίδα που βρίσκεται ο χρήστης. Στην ενότητα BODY που αρχίζει στην γραμμή 12, υπάρχουν όλα εκείνα τα στοιχεία που μπορεί να περιέχει μια ιστοσελίδα για να συλλέγει πληροφορίες, όπως πλαίσια κειμένου, κουμπιά, ραδιόπληκτρα κ.τ.λ. Στην γραμμή 13 παρατηρούμε την δημιουργία μίας φόρμας που θα εκτελείτε με την μέθοδο POST και η ενέργεια που θα κάνει είναι να μεταφέρει τις πληροφορίες στην δεύτερη σελίδα της αναζήτησης με 48

50 διεύθυνση anathesis1.tcl με σκοπό να επεξεργαστεί και να εμφανίσει τις πληροφορίες που αναζητά ο χρήστης. Από την γραμμή 21 μέχρι την γραμμή 28 δημιουργώ κελιά τα οποία περιέχουν πλαίσια κειμένου και τους τίτλους του. Τέλος στην γραμμή 30 δημιουργώ ένα κουμπί το οποίο όταν το πατάει ο χρήστης υποβάλει την φόρμα και στέλνονται οι πληροφορίες στην τοποθεσία anathesis1.tcl Μηχανή αναζήτησης 2 ο μέρος. Σ αυτό το σημείο πρέπει να αναφέρω ότι θα αναλύσω το δεύτερο μέρος της μηχανής αναζήτησης, την σελίδα δηλαδή στην οποία εμφανίζονται τα αποτελέσματα της αναζήτησης. Η εφαρμογή χρησιμοποιεί συνολικά δέκα φορές την μηχανή αναζήτησης της οποίας η πρώτη σελίδα είναι ίδια για όλες τις λειτουργίες ενώ η δεύτερη σελίδα της οποία τον κώδικα θα αναλύσω παρακάτω διαφέρει ανάλογα με την λειτουργία που θέλουμε να κάνουμε. Για παράδειγμα η δεύτερη σελίδα της μηχανής αναζήτησης της λειτουργίας ΑΝΑΘΕΣΕΙΣ εμφανίζει λιγότερες πληροφορίες από ότι αυτή της λειτουργίας Διόρθωση Καταχωρημένης Ανάθεσης. Στην συνέχεια θα παρουσιαστεί ο κώδικας όλων αυτών των σελίδων παρακάτω. Στο σχήμα 3 βλέπουμε την δεύτερη σελίδα της μηχανής αναζήτησης. Σχήμα 3. Μηχανή αναζήτησης 2 ο μέρος Ο κώδικας για την εμφάνιση του σχήματος 3 είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 49

51 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 set akad [sql "select akadetos from simvoulnum group by akadetos"] 10 puts <html> 11 puts <head> 12 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 13 puts </head> 14 puts <body\ bgcolor="#d9f2ff"> 15 puts <form\ action="anathesis2.tcl"\ method="post"> 16 puts <table\ align="center"\ bgcolor="#d9f2ff"> 17 puts <tr> 18 puts <td\ align="right">επιλογη\ ΚΑΘΗΓΗΤΗ</td> 19 puts <td><select\ name="names"> 20 foreach y $ln { 21 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 22 } 23 puts </select></td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="right">ακαδημαϊκο\ ΕΤΟΣ</td> 27 puts <td><select\ name="year"> 28 foreach al $akad { 29 puts <option\ value="[lindex $al 0]">[lindex $al 0] 30 } 31 puts <tr> 32 puts <td\ align="center"\ colspan="2"><input\ type="submit"\ value="επιλογη"> 33 puts </tr> 34 puts </table></form></body></html> Στην γραμμή 8 βλέπουμε μια εντολή που απευθύνεται στην βάση δεομένων. Είναι η εντολή SELECT με την οποία επιλέγει το l_name, το f_name και το id από τον πίνακα teacher, τα οποία μοιάζουν με αυτό που πληκτρολόγησε ο χρήστης. Το ίδιο ακριβός γίνεται και στην γραμμή 9 στην οποία με την εντολή SELECT επιλέγεται για να εμφανιστεί το πεδίο akadetos και επειδή δεν υπάρχει δικλίδα αναζήτησης WHERE τότε επιλέγονται όλα τα παιδία. Αυτό που θα εμφανιστεί στην σελίδα μας είναι το τελευταίο πεδίο. Για να εμφανιστούν όλα τα πεδία χρησιμοποιώ την ετικέτα FOREACH της οποίας τη λειτουργία θα αναλύσω παρακάτω. Στην γραμμή 9 βλέπουμε την εντολή GROUPBY η οποία είναι απαραίτητη γιατί ομαδοποιεί τα δεδομένα σε ομάδες, για παράδειγμα αν σε πέντε πεδία υπάρχουν τρεις ίδιες τιμές τις ομαδοποιεί και τις εμφανίζει σαν μία τιμή και έτσι από ένα πίνακα πέντε πεδίων εμφανίζονται τρεις τιμές. Στην γραμμή 10 με την ετικέτα HTML αρχίζει το μέρος της εφαρμογής που θα είναι ορατό στον χρήστη. Στην γραμμή 11 βλέπουμε την ενότητα HEAD που τελιών στην γραμμή 13 και στην γραμμή 14 μέχρι την γραμμή 34 όπου τελειώνει και 50

52 ο κώδικας. Στην γραμμή 15 δημιουργώ μια νέα φόρμα η οποία θα εκτελείτε με την μέθοδο POST και θα στέλνει τα δεδομένα στην σελίδα anathesis2.tcl. Στην γραμμή 19 παρατηρούμε την ετικέτα SELECT με όνομα names η οποία δημιουργεί μία λίστα κειμένου, στο οποίο θα εμφανίζονται όλες οι τιμές που θα έχουν βρεθεί με την αναζήτηση που περιγράψαμε παραπάνω στην γραμμή 8. Για να εμφανιστούν όλα τα στοιχεία μέσα στην λίστα κειμένου χρησιμοποιώ την ετικέτα FOREACH στην γραμμή 20. Με την foreach δηλώνουμε μια μεταβλητή στην προκειμένη περίπτωση την y και στην συνέχεια επιλέγουμε το περιεχόμενο της ln της εντολής SELECT στην γραμμή 8, που περιγράψαμε παραπάνω. Στην συνέχεια στην γραμμή 21 παραθέτουμε τα αποτελέσματα της αναζήτησης. Για να εμφανίσουμε τα αποτελέσματα ανοίγουμε αγκύλες και γράφουμε την εντολή lindex με την οποία επιλέγουμε από το περιεχόμενο της μεταβλητής y στην γραμμή 20 το οποίο είναι το περιεχόμενο της ln το στοιχειό νούμερο 2. Έτσι σύμφωνα με την γραμμή 8 το στοιχειό νούμερο 0 είναι το l_name, το στοιχείο νούμερο 1 είναι το f_name και το στοιχείο νούμερο 2 είναι το id. Με την ετικέτα OPTION η οποία παίρνει τιμή την τιμή νούμερο 2 από την αναζήτηση της γραμμής 8 και αυτή θα είναι η πληροφορία που θα σταλεί στην περιοχή anathesis2.tcl όταν η φόρμα εκτελεστεί. Στην συνέχεια στην ίδια γραμμή και αφού τελειώσει η ετικέτα OPTION βλέπουμε τρεις αγκύλες οι οποίες με τον ίδιο τρόπο επιλέγουν τα πεδία 0, 1 και 2 από την εντολή αναζήτησης της γραμμής 8, τα οποία εμφανίζονται μόνο για να πληροφορήσουν τον χρήστη. Τέλος πρέπει να αναφέρω ότι η ετικέτα foreach η οποία αρχίζει στην γραμμή 20 και κλίνει στη γραμμή 22 επαναλαμβάνεται τόσες φορές όσες είναι και οι πληροφορίες που βρίσκει η εντολή αναζήτησης SELECT στην βάση δεδομένων στην γραμμή 8. Έτσι αν η αναζήτηση στην γραμμή 8 βρει 3 πληροφορίες τότε η FOREACH θα επαναληφθεί τρεις φορές. Η ίδια διαδικασία ακολουθείται και στις γραμμές 27 έως 30. Τέλος στην γραμμή 32 δημιουργώ ένα κουμπί με το οποίο ο χρήστης θα υποβάλει την φόρμα. 51

53 4.7. Κύρια σελίδα Αναθέσεων. Μετά την αναζήτηση και επιλογή του καθηγητή στον οποίο θέλουμε να κάνουμε ανάθεση έργου εμφανίζεται η κύρια σελίδα στην οποία καλείτε ο χρήστης να καταχωρίσει τις απαραίτητες παραμέτρους για να πραγματοποιήσει μια ανάθεση. Στο σχήμα 4 βλέπουμε την μορφή της κυρίας σελίδας. Ο κώδικας που εμφανίζει την παραπάνω σελίδα είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "insert into anathesi (id, id_teacher, etos, examino, lastofsimvasi, pliromi, date, gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5, akadetos, tropop, tropopnum, tropopday, id_mathima, bathmida) values (\"$a\", \"$b\", \"$e\", \"$g\", \"$k\", \"$o\", \"$l\", \"$a1\", \"$a2\", \"$a3\", \"$a4\", \"$dat1\", \"$dat2\", \"$dat3\", \"$dat4\", \"$n\", \"$qo\", \"$j1\", \"$j2\", \"$c\", \"$foko\")" 52

54 9 sql "update teacher set katastasi=\"$m\" where (id=\"$b\")" 10 sql "insert into mathima (id_teacher, id, hoursth, hoursask, hourserg, tropop, akadetos, ypoxrepilog) values (\"$b\", \"$c\",\"$d\", \"$d2\", \"$d1\", \"$qo\", \"$n\",\"$no\")" 11 set f1 [sql "select id, f_name, l_name, mail, phone1, epagelma, primaryjob from teacher where (id=$b) "] 12 set f2 [sql "select basictitlosspoudon, metaptyxiako, didaktoriko from spoudes where (id_teacher=$b) "] 13 set f3 [sql "select ep1, sumyears, sumdayes, summonths from epagempir where (id_teacher=$b) "] 14 set f12 [sql "select id, hoursth, hoursask, hourserg, examino, akadetos, tropop, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher=$b) group by id "] 15 set f20 [sql "select id, name, type, id_semester from course"] 16 puts <html> 17 puts <head> 18 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 19 puts </head> 20 puts <body\ bgcolor="#d9f2ff"> 21 puts <form\ name="f5"\ action="anathesis3.tcl"\ method="post"> 22 puts <table\ border="0"\ align="center"\ width=990\ bgcolor="#d9f2ff"> 23 puts <tr> 24 puts <td> 25 foreach j $f1 { 26 puts Το\ ID\ του\ καθηγητή\ [lindex $j 1]\ [lindex $j 2]\ που\ του\ καταχορίσαμε\ είναι\ [lindex $j 0]\.\ Η\ ηλεκτρονική\ του\ δηεύθηνση\ είναι\ [lindex $j 3]\ και\ το\ τηλεφωνό\ του\ είναι\ [lindex $j 4].\ Είναι\ [lindex $j 5]\ και\ το\ επάγγελμά\ του\ έιναι\ [lindex $j 6]\ } 27 foreach k $f2 { 28 puts Κατέχει\ [lindex $k 0]\ [lindex $k 1]\ [lindex $k 2] 29 } 30 foreach l $f3 { 31 puts Eργάζεται\ ως\ [lindex $l 0]\ για\ [lindex $l 1]\ χρόνια,\ [lindex $l 2]\ ημερες,\ [lindex $l 3]\ μήνες. } 32 puts </td> 33 puts </tr> 34 puts </table> 35 puts <hr> 36 puts <table\ border="0"\ align="center"\ width=1100> 37 puts <tr> 38 puts <td\ align="right">αρηθμός\ Πρωτοκόλλου</td> 39 puts <td><input\ type="text"\ name="a"></td> 40 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 41 puts <td><input\ type="text"\ name="l"></td> 42 puts </tr> 43 puts <tr> 44 puts <td\ align="right">εξάμηνο\ Ανάθεσης</td> 45 puts <td><select\ name="g"> 46 puts <option\ value="1">χειμερινο 47 puts <option\ value="2">εαρινο 48 puts </select></td> 49 puts <td\ align="right">ακαδημαϊκό\ Έτος\ (ΕΕΕΕ-ΕΕΕΕ)</td> 50 puts <td><input\ type="text"\ name="n"></td> 51 puts </tr> 52 puts <tr> 53 puts <td\ align="right">πληρομή\ από</td> 54 puts <td\ align="left"><select\ name="o"> 55 puts <option\ value="1">τει 56 puts <option\ value="2">aλλο 53

55 57 puts </select></td> 58 puts <td\ align="right">kατάσταση</td> 59 puts <td><select\ name="m"> 60 puts <option\ value="1">πρόην\ Συνεργάτης 61 puts <option\ value="2">ενεργοί 62 puts <option\ value="3">μη\ επιλεχθέντες 63 puts </select></td> 64 puts </tr> 65 puts <tr> 66 puts <td\ align="right">ανανέωση\ /\ Τροποποίηση</td> 67 puts <td><select\ name="qo"> 68 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 69 puts <option\ value="2">τροποποιηση\ ΑΝΑΘΕΣΗΣ 70 puts </select> 71 puts <td\ align="right">έτος</td> 72 puts <td><input\ type="text"\ name="e"></td> 73 puts </tr> 74 puts <tr> 75 puts <td\ colspan="4"><hr></td> 76 puts </tr> 77 puts <tr> 78 puts <td\ colspan="4">&nbsp</td> 79 puts </tr> 80 puts <tr> 81 puts <td\ align="right">καθηγητής</td> 82 puts <td><select\ name="b"> 83 foreach y $f1 { 84 puts <option\ value="[lindex $y 0]">[lindex $y 0]\ [lindex $y 2]\ [lindex $y 1] } 85 puts </select> 86 puts <td\ align="right">μάθημα</td> 87 puts <td><select\ name="c"> 88 foreach po $f20 { 89 puts <option\ value="[lindex $po 0]">[lindex $po 1]\ [lindex $po 2]} 90 puts </select></td> 91 puts </tr> 92 puts <tr> 93 puts <td\ align="right">ώρες\ Θεωρίας</td> 94 puts <td><input\ type="text"\ name="d"> 95 puts <td\ align="right">ώρες\ Εργαστηρίου</td> 96 puts <td><input\ type="text"\ name="d1"> 97 puts </tr> 98 puts <tr> 99 puts <td\ align="right">ώρες\ Ασκήσεων</td> 100 puts <td><input\ type="text"\ name="d2"></td> 101 puts </tr> 102 puts <tr> 103 puts <td\ align="right">κατηγορία</td> 104 puts <td><select\ name="no"> 105 puts <option\ value="1">υποχρεοτικό 106 puts <option\ value="2">υπόχρ.\ επιλογής 107 puts <option\ value="3">προερετ\ επιλογής 108 puts </select></td> 109 puts <td>&nbsp</td> 110 puts <td>&nbsp</td> 111 puts </tr> 112 puts </tr> 113 puts <tr> 114 puts <td\ colspan="4"><hr></td> 115 puts </tr> 54

56 116 puts <tr> 117 puts <td\ colspan="4">&nbsp</td> 118 puts </tr> 119 puts <tr> 120 puts <td\ align="right">αρηθμός\ πράξης\ πρόσληψης\ Γενικής\ Συνέλ.</td> 121 puts <td><input\ type="text"\ name="a1"></td> 122 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 123 puts <td><input\ type="text"\ name="dat1"></td> 124 puts </tr> 125 puts <tr> 126 puts <td\ align="right">αρηθμός\ πράξης\ συμβουλίου\ ΤΕΙ</td> 127 puts <td><input\ type="text"\ name="a2"></td> 128 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 129 puts <td><input\ type="text"\ name="dat2"></td> 130 puts </tr> 131 puts <tr> 132 puts <td\ align="right">αρηθμός\ προκύριξης\ απο\ ΤΕΙ</td> 133 puts <td><input\ type="text"\ name="a3"></td> 134 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 135 puts <td><input\ type="text"\ name="dat3"></td> 136 puts </tr> 137 puts <tr> 138 puts <td\ align="right">αρ.\ απόφ.\ γεν.\ συνέλ.\ ορισμου\ τριμελούς\ εισηγητηκής\ επιτροπής</td> 139 puts <td><input\ type="text"\ name="a4"></td> 140 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 141 puts <td><input\ type="text"\ name="dat4"></td> 142 puts </tr> 143 puts <tr> 144 puts <td\ align="right">διάρκια\ Σύμβασης</td> 145 puts <td\ colspan="3"><select\ name="k"> 146 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 147 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 148 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 149 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 150 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 151 puts </select></td> 152 puts </tr> 153 puts <tr> 154 puts <td\ align="right">\ Βαθμίδα</td> 155 puts <td\ colspan="3"><select\ name="foko"> 156 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 157 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 158 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 159 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 160 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 161 puts </select> 162 puts </tr> 163 puts <tr> 164 puts <td\ colspan="4"><hr></td> 165 puts </tr> 166 puts <tr> 55

57 167 puts <td\ colspan="4"\ align="center">συμπληρώστε\ μόνο\ σε\ περίπτωση\ τροποποίησης</td> 168 puts </tr> 169 puts <tr> 170 puts <td\ align="right">αριθμός\ Τροποποίησης</td> 171 puts <td><input\ type="text"\ name="j1"></td> 172 puts <td\ align="right">ημερομηνία\ Τροποποίησης\ (ΕΕΕΕ-ΜΜ- ΗΗ)</td> 173 puts <td><input\ type="text"\ name="j2"></td> 174 puts </tr> 175 puts </tr> 176 puts <tr> 177 puts <td\ colspan="4"><hr></td> 178 puts </tr> 179 puts <tr> 180 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 181 puts </tr> 182 puts </table> 183 puts </form> 184 puts <form\ name="v"\ action="/index.html"\ method="post"> 185 puts <table\ align="center"> 186 puts <tr> 187 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 188 puts </tr> 189 puts </table> 190 puts <table\ border="2"\ align="center"\ width=1100> 191 puts <tr> 192 puts <td\ align="center">ακαδ.\ ΕΤΟΣ</td> 193 puts <td\ align="center">μαθημα</td> 194 puts <td\ align="center">ωρεσ\ ΘΕΩΡΙΑΣ</td> 195 puts <td\ align="center">ωρεσ\ ΕΡΓΑΣΤΗΡΙΩΝ</td> 196 puts <td\ align="center">ωρεσ\ ΑΣΚΗΣΕΩΝ</td> 197 puts <td\ align="center">συνολο\ ΩΡΩΝ</td> 198 puts <td\ align="center">αναθεση</td> 199 puts </tr> 200 foreach lo $f12 { 201 set g1 [sql "select name from course where id=[lindex $lo 0]"] 202 puts <tr> 203 puts <td\ align="right">[lindex $lo 5]</td> 204 puts <td\ align="right">[lindex [lindex $g1 0] 0]</td> 205 puts <td\ align="right">[lindex $lo 1]</td> 206 puts <td\ align="right">[lindex $lo 3]</td> 207 puts <td\ align="right">[lindex $lo 2]</td> 208 puts <td\ align="right">[lindex $lo 7]</td> 209 if {[lindex $lo 6] == 1 } { 210 puts <td\ align="right">νεα</td> 211 } else { 212 puts <td\ align="right">τροποποιηση</td> 213 } 214 puts </tr> 215 } 216 puts </table> 217 puts </form> 218 puts <script\ language="javascript"\ type="text/javascript"> 219 puts <! set f4 [lindex [sql "select * from anathesi where (id_teacher=$b)"] 0] 221 set f6 [lindex [sql "select katastasi from teacher where (id=$b)"] 0] 56

58 222 set f8 [lindex [sql "select * from mathima where (id_teacher=$b)"] 0] 223 puts f5.a.value="[lindex $f4 0]"\; 224 puts f5.b.value="[lindex $f4 1]"\; 225 puts f5.c.value="[lindex $f8 2]"\; 226 puts f5.d.value="[lindex $f8 6]"\; 227 puts f5.d1.value="[lindex $f8 8]"\; 228 puts f5.d2.value="[lindex $f8 7]"\; 229 puts f5.e.value="[lindex $f4 3]"\; 230 puts f5.n.value="[lindex $f4 17]"\; 231 puts f5.g.value="[lindex $f4 4]"\; 232 puts f5.no.value="[lindex $f8 4]"\; 233 puts f5.o.value="[lindex $f4 6]"\; 234 puts f5.l.value="[lindex $f4 7]"\; 235 puts f5.m.value="[lindex $f6 0]"\; 236 puts f5.qo.value="[lindex $f4 22]"\; 237 puts f5.a1.value="[lindex $f4 9]"\; 238 puts f5.dat1.value="[lindex $f4 13]"\; 239 puts f5.a2.value="[lindex $f4 10]"\; 240 puts f5.dat2.value="[lindex $f4 14]"\; 241 puts f5.a3.value="[lindex $f4 11]"\; 242 puts f5.dat3.value="[lindex $f4 15]"\; 243 puts f5.a4.value="[lindex $f4 12]"\; 244 puts f5.dat4.value="[lindex $f4 16]"\; 245 puts f5.k.value="[lindex $f4 5]"\; 246 puts f5.foko.value-"[lindex $f4 18]"\; 247 puts --> 248 puts </script> 249 puts </body> 250 puts </html> Σ αυτό το σημείο πρέπει να αναφέρω ότι για να μπορεί ο χρήστης να αναθέτει παραπάνω από ένα μαθήματα σε έναν καθηγητή χωρίς να χρειάζεται να χρησιμοποιεί τα πλήκτρα πλοήγησης που διαθέτουν όλοι οι browsers επιστρέφοντας πολλές φορές στην φόρμα που πρέπει να συμπληρώσει για να κάνει τη ανάθεση, δημιούργησα δύο πανομοιότυπες σελίδες την anathesis2.tcl και anathesis3.tcl. Η μόνη διαφορά αυτών των δύο σελίδων είναι ότι η σελίδα anathesis2.tcl δεν έχει στον κώδικα της εντολές αποθήκευσης πληροφοριών στην βάση δεδομένων σε αντίθεση με την σελίδα anathesis3.tcl η οποία εμφανίζεται όταν πατηθεί το κουμπί καταχώρηση από την προηγούμενη σελίδα. Έτσι όταν ο χρήστης πατήσει το κουμπί καταχώρηση στην σελίδα anathesis2.tcl τότε η σελίδα anathesis3.tcl αναλαμβάνει να αποθηκέψει τις πληροφορίες που έλαβε στην βάση δεδομένων. Η σελίδα anathesis3.tcl επαναλαμβάνει τον εαυτό της κάθε φορά που π χρήστης πατάει το πλήκτρο καταχώρηση. Ο κώδικας που παρουσιάζω παραπάνω είναι της σελίδας anathesis3.tcl και εξηγώντας αυτόν το κώδικα εξηγώ παράλληλα και τον κώδικα της σελίδας 57

59 anathesis2.tcl καθώς και της σελίδας diorthanathesis2.tcl. Και εδώ όπως και στα προηγούμενα κομμάτια κώδικα που έχω αναλύσει, οι επτά πρώτες γραμμές είναι ίδιες και έχουν αναλυθεί. Στην γραμμή 8 με την εντολή insert εισάγω στον στα πεδία του πίνακα anathesi που αναγράφονται στην πρώτη παρένθεση της γραμμής 8 τις τιμές που περιέχουν οι μεταβλητές που βρίσκονται στην δεύτερη παρένθεση και προέρχονται είτε από την προηγούμενη σελίδα είτε από την επανάληψη της ίδιας σελίδας. Στην συνέχεια στην γραμμή 9 του κώδικα βλέπουμε την εντολή update με την οποία αλλάζει το περιεχόμενο του πεδίου katastasi του πίνακα teacher το οποίο βρίσκεται στην γραμμή του πίνακα με id το περιεχόμενο της μεταβλητής b, με το περιεχόμενο της μεταβλητής m. Στην γραμμή 10 βλέπουμε άλλη μία εισαγωγή δεδομένων όπως και στην γραμμή 8, αλλά αυτή τη φορά στον πίνακα mathima. Στην γραμμή 11, 12, 13, 14 και 15 χρησιμοποιώ τη εντολή select με σκοπό να πάρω από τους πίνακες teacher, epagempir, spudes course και mathima με id και id_teacher ίδιο με το περιεχόμενο της μεταβλητής b. Στην γραμμή 16 με την ετικέτα HTML αρχίζει το οπτικό κομμάτι του κώδικα, από την γραμμή 17 έως την γραμμή 19 βλέπουμε την ενότητα HEAD την οποία έχω αναλύσει και από την γραμμή 20 αρχίζει η ενότητα BODY. Στην γραμμή 21 δημιουργώ μια φόρμα η οποία θα εκτελείτε στην περιοχή anathesis3.tcl με την μέθοδο POST. Στις γραμμές 27 έως 32 δημιουργώ δύο ετικέτες FOREACH της οποίας τον τρόπο λειτουργίας έχω εξηγήσει στην ενότητα 4.6, με σκοπό να εμφανίσω κάποιες πληροφορίες σε γραπτή μορφή από τις εντολές αναζήτησης f2 και f3 που βλέπουμε στις γραμμές 12 και 13. Στην γραμμή 36 δημιουργώ έναν πίνακα ο οποίος τελειώνει στην γραμμή 189, ο οποίος στα κελιά του περιέχει πλαίσια κειμένου και λίστες κειμένου, στα οποία ο χρήστης θα πληκτρολογεί και θα επιλέγει τις πληροφορίες που θέλει ώστε να πραγματοποιήσει μία ανάθεση. Θα ήταν περιττό και ανούσιο να αναλύσω τον κώδικα γραμμή γραμμή γιατί σε ένα πολύ μεγάλο μέρος του κώδικα οι εντολές επαναλαμβάνονται, έτσι θα σταθώ για να αναλύσω σε μερικά πολύ σημαντικά μέρη. Έτσι όπως έχουμε ήδη πει ένας πίνακας αρχικοποιείται με την εντολή TABLE και μπορούμε να προσθέσουμε διάφορες ετικέτες όπως η align ή η border με σκοπό να μορφοποιήσουμε έναν πίνακα, μία αρχικοποίηση πίνακα μπορούμε να διακρίνουμε στην γραμμή 36, στην συνέχεια με την ετικέτα TR δημιουργώ γραμμή στον πίνακα και με την ετικέτα TD 58

60 στήλες. Με αυτές τις ετικέτες μπορώ να χρησιμοποιήσω και τις ετικέτες align για στοίχιση μέσα στο κελί colspan για συγχώνευση κελιών και rowspan για συγχώνευση στηλών. Στην γραμμή 39 με την ετικέτα input δημιουργώ ένα πλαίσιο κειμένου αν ορίσω τον τύπο (TYPE) να είναι κείμενο (TEXT). Στην γραμμή 45 αρχίζει η ετικέτα SELΕCT και τελειώνει στην γραμμή 49, με αυτή την ετικέτα δημιουργώ μία λίστα κειμένου η οποία περιέχει συγκεκριμένες πληροφορίες στις οποίες ο χρήστης δεν μπορεί να επέμβει και να τις αλλάξει, παρά μόνο να επιλέξει μία από αυτές. Στις γραμμές 46 και 47 βλέπουμε ότι με την ετικέτα OPTION και δίνοντας της μία τιμή VALUE η οποία και θα αποθηκεύεται στην βάση δεδομένων και δίπλα βλέπουμε το κείμενο που θα βλέπει ο χρήστης, εδώ έχουμε τις λέξεις χειμερινό και εαρινό, από τα οποία ο χρήστης καλείται να επιλέξει ένα ώστε να κάνει μια ανάθεση. Έτσι ανάλογα με το τι θα επιλέξει πραγματοποιεί μια ανάθεση για το εαρινό ή το χειμερινό εξάμηνο. Τέτοιες επιλογές καλείται να συναντήσει πολλές ο χρήστης για να πραγματοποιήσει μια ανάθεση λόγω της μοναδικότητας που χαρακτηρίζει την κάθε ανάθεση. Στην γραμμή 87 παρατηρούμε ακόμα μία ετικέτα SELCT η οποία έχει μία πολύ σημαντική διαφορά από αυτήν που περιγράφω παραπάνω. Η διαφορά εδώ είναι ότι εδώ οι τιμές από τις οποίες πρέπει να επιλέξει ο χρήστης προέρχονται από την βάση δεδομένων και έτσι το περιεχόμενο αυτής της λίστας κειμένου είναι δυναμικό και αλλάζει με κάθε αλλαγή του περιεχομένου της βάσης δεδομένων. Έτσι στην γραμμή 88 αρχίζουμε με μία ετικέτα FOREACH η οποία θα μας βοηθήσει να εμφανίσουμε όλα τα περιεχόμενα των επιλεγμένων πεδίων του πίνακα course, τα οποία θα επιλέξουμε στην γραμμή 89. Στην γραμμή 89 βλέπουμε την ετικέτα OPTION η οποία έχει value το περιεχόμενο της πρώτου πεδίου από την εντολή select της SQL στην γραμμή 15 του κώδικα, δηλαδή το ID του πίνακα COURSE. Έτσι στη βάση δεδομένων θα αποθηκευτεί η τιμή που περιέχεται στο id του πίνακα course. Μία πολύ χρήσιμη λειτουργία για το χρήστη που υπάρχει σε αυτή τη σελίδα είναι ο πίνακας που εμφανίζεται στο κάτω μέρος της και περιέχει πληροφορίες για τα μαθήματα που έχουν ανατεθεί στον καθηγητή συνολικά. Ο κώδικας της λειτουργίας αυτής αρχίζει από την γραμμή 190 και τελειώνει στην γραμμή 216. Όπως βλέπουμε πρόκειται για έναν πίνακα ο οποίος αποτελείται από δύο ενότητες. Η πρώτη ενότητα αρχίζει από την γραμμή 191 και τελειώνει στην γραμμή 199, και αποτελεί την πρώτη 59

61 γραμμή του πίνακα και είναι κοινή για όλους του καθηγητές. Αυτή η γραμμή περιέχει τους τίτλους των στηλών για παράδειγμα ΑΚΑΔ. ΕΤΟΣ, ΜΑΘΗΜΑ κ.ο.κ. Η δεύτερη ενότητα αποτελεί το δυναμικό κομμάτι του πίνακα, το οποίο αλλάζει ανάλογα με τον καθηγητή στον οποίο επιχειρούμε να κάνουμε ανάθεση. Η δεύτερη ενότητα αρχίζει από την γραμμή 200 μέχρι την 215. Όπως παρατηρούμε χρησιμοποιώ την ετικέτα FOREACH γιατί θέλω να εμφανίζω όλα τα επιλεγμένα δεδομένα που υπάρχουν στην βάση δεδομένων. Έτσι επιλέγω να παίρνω τα δεδομένα του πίνακα mathima και να τα εμφανίζω με τον τρόπο που βλέπουμε στις γραμμές 203, 205, 206, 207 και 208. Τέλος παρατηρούμε στην γραμμή 201 την εντολή αναζήτησης SELECT που απευθύνεται στον πίνακα COURSE και στα δεδομένα που περιέχει στην γραμμή με ID ίδιο με αυτόν του πίνακα mathima, τα αποτελέσματα αυτής της αναζήτησης εμφανίζονται στην γραμμή 204 και είναι το όνομα του μαθήματος. Τέλος μια πολύ σημαντική λειτουργία αυτής της σελίδας είναι η ανάκτηση των δεδομένων (εάν υπάρχουν) στα πλαίσια κειμένου της σελίδας. Αυτό γίνετε με τη εντολή SCRIPT. Ο κώδικας αυτής της λειτουργίας αρχίζει από την γραμμή 218 και τελειώνει στην γραμμή 248. Στην 218 με την ετικέτα SCRIPT και καλώντας την μέθοδο JAVASCRIPT ξεκινάει η διαδικασία ανάκτησης. Στις γραμμές 220, 221 και 222 χρησιμοποιώ την εντολή αναζήτησης SELECT από την βάση δεδομένων επιλέγοντας όλα τα πεδία των πινάκων anathesi και mathima που έχουν id_teacher ίδιο με το περιεχόμενο της μεταβλητής b που προέρχεται από την προηγούμενη σελίδα και το πεδίο katastasi από τον πίνακα teacher το οποίο έχει id ίδιο με το περιεχόμενο της μεταβλητής b. Στην συνέχεια βλέποντας στις γραμμές 223 έως την 246 βλέπουμε τον τρόπο με τον οποίο επιλέγουμε την πληροφορία που θέλουμε να εμφανίσουμε και το πλαίσιο κειμένου στο οποίο θέλουμε α την εμφανίσουμε. Πιο αναλυτικά στην γραμμή 223 μετά την εντολή puts η οποία είναι απαραίτητη για να μπορέσουμε να χρησιμοποιήσουμε εντολές άλλων γλωσσών προγραμματισμού μέσα στην TCL, βλέπουμε το f5 το οποίο είναι το όνομα της φόρμας στης οποία τα πλαίσια κειμένου θέλουμε να εμφανίσουμε τις πληροφορίες. Αμέσως μετά την επιλογή της φόρμας επιλέγουμε το όνομα του πλαισίου κειμένου στο οποίο θέλουμε να εμφανίσουμε μια ανάκτηση, εδώ βλέπουμε ότι η ανάκτηση θα εμφανίζεται στο πλαίσιο κειμένου που έχω δημιουργήσει στην γραμμή 39 του κώδικα. Στην συνέχεια με τη ετικέτα value επιλέγω την τιμή η οποία θέλω α εμφανίζεται, εδώ επιλέγω να εμφανίσω το περιεχόμενο του πρώτου πεδίου του πίνακα anathesi. Με αυτόν τον 60

62 τρόπο συνεχίζω μέχρι την γραμμή 246. Τέλος στις γραμμές 247 και 248 κλείνω την μέθοδο SCRIPT Μηχανή αναζήτησης μέρος 2 ο και διόρθωση αναθέσεων Πρέπει να διευκρινίσω ότι δεν θα αναλύσω το πρώτο μέρος της μηχανής αναζήτησης για την διόρθωση των λανθασμένων αναθέσεων, γιατί την έχω αναλύσει στην ενότητα 4.5. Σε αυτή την ενότητα θα αναλύσω το 2 ο μέρος της μηχανής αναζήτησης και μέρος της σελίδας διόρθωσης των αναθέσεων. Η διαφορά που έχει αυτό το δεύτερο μέρος της μηχανής αναζήτησης από αυτό που ανέλυσα στην ενότητα 4.6. είναι ότι εδώ ο χρήστης καλείται επιλέγει κάποια στοιχεία που κάνουν μία ανάθεση μοναδική με σκοπό να βρεθεί η ανάθεση στην οποία έγινε το λάθος με μεγάλη ακρίβεια με σκοπό α την διορθώσει. Σχήμα 5. αναζήτηση λανθασμένης ανάθεσης Ο κώδικας που εμφανίζει το σχήμα 5 είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 61

63 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos, examino, tropop from anathesi where id_teacher=[lindex $z 2] group by 11 akadetos"] 12 } 13 foreach j $ln { 14 set ol [sql "select id, name, type from course "] 15 } 16 puts <html> 17 puts <head> 18 puts <title>áíáèåóåéó\ ÄÉÏÑÈÙÓÇ</title> 19 puts </head> 20 puts <body\ bgcolor="#d9f2ff"> 21 puts <form\ action="diorthanathesis2.tcl"\ method="post"> 22 puts <table\ border="0"\ align="center"\ bgcolor="#d9f2ff"> 23 puts <tr> 24 puts <td\ colspan="2">&nbsp</td> 25 puts </tr> 26 puts <tr> 27 puts <td\ colspan="2"\ align="center"><p><b>αναζητηση\ ΛΑΝΘΑΣΜΕΝΗΣ\ ΚΑΤΑΧΩΡΗΣΗΣ\ ΑΠΟ\ ΤΟ\ ΑΡΧΕΙΟ\ ΤΩΝ\ ΑΝΑΘΕΣΕΩΝ</b></p></td> 28 puts </tr> 29 puts <tr> 30 puts <td\ colspan="2">&nbsp</td> 31 puts </tr> 32 puts <tr> 33puts <td\ align="right">επιλογή\ καθηγητή</td> 34 puts <td><select\ name="names"> 35 foreach y $ln { 36 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 37 } 38 puts </select> 39 puts </tr> 40 puts <tr> 41 puts <td\ align="right">ακαδημαϊκό\ έτος</td> 42 puts <td><select\ name="a"> 43 foreach e $lo { 44 puts <option\ value="[lindex $e 0]">[lindex $e 0] 45 } 46 puts </select></td> 47 puts </tr> 48 puts <tr> 49 puts <td\ align="right"\ width=50%>εξάμηνο\ για\ το\ οποίο\ καταχωρήθηκε\ η \ ανάθεση</td> 50 puts <td><select\ name="b"> 51 foreach p $lo { 52 puts <option\ value="[lindex $p 1]">[lindex $p 1] 53 } 54 puts </select></td> 55 puts </tr> 56 puts <tr> 57 puts <td\ align="right">νέα\ ή\ τροποποιημένη\ ανάθεση</td> 58 puts <td><select\ name="c"> 59 puts <option\ value="1">νεα 60 puts <option\ value="2">τροποποιηση 61 puts </select></td> 62 puts </tr> 63 puts <tr> 64 puts <td\ align="right">μαθημα</td> 65 puts <td><select\ name="d"> 62

64 66 foreach v $ol { 67 puts <option\ value="[lindex $v 0]">[lindex $v 0]\ [lindex $v 1]\ [lindex $v 2] 68 } 69 puts </select></td> 70 puts <tr> 71 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επολογη"> 72 puts </tr> 73 puts </table></form></body></html> Ο κώδικας αυτής της σελίδας της πτυχιακής δεν είναι κάτι διαφορετικό από τον κώδικα που ανέλυσα στην ενότητα 4.6. Η διαφορά εδώ είναι ότι υπάρχουν περισσότερα στοιχεία από τα οποία ο χρήστης πρέπει να επιλέξει για να βρει την ανάθεση στην οποία έκανε λάθος. Πατώντας το κουμπί επιλογή περνούν οι πληροφορίες οι οποίες επιλέχθηκαν στην τοποθεσία diorthaathesis2.tcl η οποία έχει την μορφή της σελίδας που βλέπουμε το σχήμα 4, δηλαδή την κύρια σελίδα των αναθέσεων, με όλα τα στοιχεία της λανθασμένης ανάθεσης ανακτημένα στα πλαίσια κειμένου της σελίδας. Αυτό γίνεται με την ετικέτα SCRIPT η οποία έχει την παρακάτω μορφή: 1 puts <script\ language="javascript"\ type="text/javascript"> 2 puts <!-- 3 set f4 [lindex [sql "select * from anathesi where (id_teacher=$names) && (akadetos like \"$a\") && (examino=\"$b\") && (tropop=\"$c\") && (id_mathima=\"$d\") "] 0] 4 set f6 [lindex [sql "select katastasi from teacher where (id=$names)"] 0] 5 set f8 [lindex [sql "select * from mathima where (id_teacher=$names) && (akadetos like \"$a\") && (tropop=\"$c\") && (id=$d) "] 0] 6 puts f5.g.value="[lindex $f4 4]"\; 7 puts f5.a.value="[lindex $f4 0]"\; 8 puts f5.l.value="[lindex $f4 7]"\; 9 puts f5.b.value="[lindex $f4 1]"\; 10 puts f5.n.value="[lindex $f4 17]"\; 11 puts f5.o.value="[lindex $f4 6]"\; 12 puts f5.m.value="[lindex $f6 0]"\; 13 puts f5.qo.value="[lindex $f4 18]"\; 14 puts f5.e.value="[lindex $f4 3]"\; 15 puts f5.d.value="[lindex $f8 6]"\; 16 puts f5.d1.value="[lindex $f8 8]"\; 17 puts f5.d2.value="[lindex $f8 7]"\; 18 puts f5.no.value="[lindex $f8 5]"\; 19 puts f5.a1.value="[lindex $f4 9]"\; 20 puts f5.dat1.value="[lindex $f4 13]"\; 21 puts f5.a2.value="[lindex $f4 10]"\; 22 puts f5.dat2.value="[lindex $f4 14]"\; 23 puts f5.a3.value="[lindex $f4 11]"\; 24 puts f5.dat3.value="[lindex $f4 15]"\; 25 puts f5.a4.value="[lindex $f4 12]"\; 26 puts f5.dat4.value="[lindex $f4 16]"\; 27 puts f5.k.value="[lindex $f4 5]"\; 28 puts f5.foko.value="[lindex $f4 19]"\; 29 puts f5.j1.value="[lindex $f4 24]"\; 30 puts f5.j2.value="[lindex $f4 25]"\; 31 puts --> 32 puts </script> Όπως μπορούμε να δούμε στις γραμμές 3, 4 και 5 και πάλλει χρησιμοποιώ την εντολή αναζήτησης SELECT της SQL όπως εξήγησα στην ενότητα 4.7. με την μόνη 63

65 διαφορά ότι εδώ χρησιμοποιώ περισσότερες προϋποθέσεις για την αναζήτηση. Η προϋποθέσεις αυτές καθορίζονται από τον χρήστη στο δεύτερο κομμάτι της αναζήτησης. Έτσι στην κύρια σελίδα της διόρθωσης της ανάθεσης ο χρήστης βλέπει ανακτημένα όλα τα στοιχεία της ανάθεσης, αφού πατήσει το κουμπί ΔΙΑΓΡΑΦΗ η εφαρμογή προχωρά στην σελίδα diorthanathesis3.tcl, η οποία διαγράφει με την εντολή DELETE της SQL όλα τα στοιχεία τα οποία είχαν εμφανιστεί στην προηγούμενη σελίδα. Ο κώδικας αυτής της σελίδας υπάρχει παρακάτω: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <body\ bgcolor="#d9f2ff"> 10 puts <form\ name="v"\ action="/index.html"\ method="post"> 11 puts <table\ align="center"> 12 puts <tr> 13 puts <td\ align="center"><input\ type="submit"\ value="επιστροφη\ ΣΤΗΝ\ ΑΡΧΙΚΗ\ ΣΕΛΙΔΑ"></td> 14 puts </tr> 15 puts </table> 16 puts </body> 17 puts </html> 18 sql "delete from anathesi where (id_teacher=\"$b\") && (akadetos=\"&n\") && (examino=\"$g\") && (id=\"$a\") && (date=\"$l\") && (tropop=\"$qo\") && (tropopnum=\"$j1\") && (tropopday=\"$j2\") && (name=\"$c\")" 19 sql "delete from mathima where (id_teacher=\"$b\") && (name=\"$c\") && (tropop=\"$qo\") && (akadetos=\"&n\")" 20 puts <html> 21 puts <body> 22 puts <table\ align="center"> 23 puts <tr> 24 puts <td\ align="center"><p><b>η\ ΛΑΝΘΑΣΜΕΝΗ\ ΚΑΤΑΧΩΡΗΣΗ\ ΔΙΑΓΡΑΦΗΚΕ</td> 25 puts </tr> 26 puts </table> 27 puts </body> 28 puts </html> Έτσι βλέπουμε στην γραμμή 18 και 19 την εντολή DELETE της SQL η οποία διαγράφει τα πάντα από τα πεδία των πινάκων anathesi και mathima, 4.9. Υπεύθυνη δήλωση στοιχείων Η σελίδα με την οποία ο χρήστης μπορεί να καταχωρίσει τα προσωπικά του στοιχεία έχει την ονομασία aitisi.tcl. Για να μπορέσει ο χρήστης να χρησιμοποιήσει 64

66 αυτή την σελίδα θα πρέπει πρώτα να κάνει μία αναζήτηση. Η αναζήτηση είναι απαραίτητη γιατί σύμφωνα με τη εφαρμογή θα έχει προηγηθεί η αίτηση με την οποία ο καθηγητής θα έχει καταχωρήσει στον πίνακα teacher πολλά προσωπικά του στοιχεία. Έτσι με την αναζήτηση θα εμφανίζονται ανακτημένα όλα εκείνα τα στοιχεία που έχει ήδη καταχωρίσει στην αίτηση με σκοπό να μην αποφευχθούν διπλασιασμοί, αντιφατικές εισαγωγές πληροφοριών και για την εξοικονόμηση χρόνου. Από κάτω μπορούμε να δούμε την σελίδα aitisi.tcl. Σχήμα 10. Υπεύθυνη δήλωση στοιχείων Ο κώδικας που εμφανίζει την σελίδα στο σχήμα 10 έχει ως εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 65

67 10 Puts <title>καταχωρηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ ΣΤΟΙΧΕΙΩΝ</title> 11 puts </head> 12 puts <head> 13 puts <title>\ ΥΠΕΥΘΥΝΗ\ ΔΗΛΩΣΗ\ </title> 14 puts </head> 15 puts <body\ bgcolor="#d9f2ff"> 16 puts <form\ name="fa"\ action="aitisi1.tcl"\ method="post"> 17 puts <table\ border="0"\ align="center"\ width="1100"\ bgcolor="#d9f2ff"> 18 puts <tr> 19 puts <td\ colspan="4"\ align="center"><p><b>υπευθυνη\ ΔΗΛΩΣΗ\ ΣΤΟΙΧΕΙΩΝ</b></p></td> 20 puts <tr> 21 puts <td\ colspan="4"\ align="center"><p><b><u>γενικά\ Στοιχεία</u></b></p></td> 22 puts </tr> 23 puts <tr> 24 puts <td\ colspan="4">&nbsp</td> 25 puts </tr> 26 puts <tr> 27 puts <td\ align="right">αριθμός\ ID\ που\ σας\ Δόθηκε</td> 28 puts <td\ align="left"><input\ type="text"\ name="id"></td> 29 puts <td\ align="right">επώνυμο</td> 30 puts <td\ align="left"><input\ type="text"\ name="a3"></td> 31 puts </tr> 32 puts <tr> 33 puts <td\ align="right">όνομα</td> 34 puts <td\ align="left"><input\ type="text"\ name="a4"></td> 35 puts <td\ align="right">προληφθήκατε\ ως</td> 36 puts <td\ align="left"><select\ name="s9"> 37 puts <option\ value="1">επισ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 38 puts <option\ value="2">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 39 puts <option\ value="3">επισ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ &\ ΔΙΔΑΚΤΟΡΙΚΟ\ (ΩΡ.\ ΑΝΤΙΜΙΣΘΙΑ) 40 puts <option\ value="4">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ &\ ΜΕΤΑΠΤΥΧΙΑΚΟ\ (ΩΡ.\ ΑΝΤΙΜΙΣΘΙΑ) 41 puts <option\ value="5">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ (ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ) 42 puts </select> 43 puts </tr> 44 puts <tr> 45 puts <td\ align="right">όνομα\ πατέρα</td> 46 puts <td\ align="left"><input\ type="text"\ name="b1"></td> 47 puts <td\ align="right">όνομα\ Μητέρας</td> 48 puts <td\ align="left"><input\ type="text"\ name="b2"></td> 49 puts </tr> 50 puts <tr> 51 puts <td\ align="right">όνομα\ Συζύγου</td> 52 puts <td\ align="left"><input\ type="text"\ name="b4"></td> 53 puts <td\ align="right">οικογενειακή\ Κατάσταση</td> 54 puts <td\ align="left"><select\ name="c2"> 55 puts <option\ value="1">εγγαμοσ 56 puts <option\ value="2">αγαμοσ 57 puts </select></td> 58 puts </tr> 59 puts <tr> 60 puts <td\ align="right">ημερομηνία\ Γέννησης</td> 61 puts <td\ align="left"><input\ type="text"\ name="b3"></td> 62 puts <td\ align="right">πόλη\ Γέννησης</td> 66

68 63 puts <td\ align="left"><input\ type="text"\ name="c1"></td> 64 puts </tr> 65 puts <tr> 66 puts <td\ align="right">νομός\ Γέννησης</td> 67 puts <td\ align="left"><input\ type="text"\ name="c3"></td> 68 puts <td\ align="right">πόλη\ κατοικίας</td> 69 puts <td\ align="left"><input\ type="text"\ name="e1"></td> 70 puts </tr> 71 puts <tr> 72 puts <td\ align="right">διεύθ.\ &\ αριθμός\ Κατοικίας</td> 73 puts <td\ align="left"><input\ type="text"\ name="d3"></td> 74 puts <td\ align="right">περιοχή</td> 75 puts <td\ align="left"><input\ type="text"\ name="d5"></td> 76 puts </tr> 77 puts <tr> 78 puts <td\ align="right">ταχυδρομικός\ Κώδικας</td> 79 puts <td\ align="left"><input\ type="text"\ name="e2"></td> 80 puts <td\ align="right">δ.ο.υ.</td> 81 puts <td\ align="left"><input\ type="text"\ name="c4"></td> 82 puts </tr> 83 puts <tr> 84 puts <td\ align="right">α.φ.μ.</td> 85 puts <td\ align="left"><input\ type="text"\ name="d1"></td> 86 puts <td\ align="right">αρ.\ Δελτίου\ Ταυτότητας</td> 87 puts <td\ align="left"><input\ type="text"\ name="d2"></td> 88 puts </tr> 89 puts <tr> 90 puts <td\ align="right">αστυνομικό\ Τμήμα\ Έκδοσης</td> 91 puts <td\ align="left"><input\ type="text"\ name="go"></td> 92 puts <td\ align="right">φορέας\ απασχόλησης</td> 93 puts <td\ align="left"><select\ name="mon"> 94 puts <option\ value="1">δημοσιοσ\ ΥΠΑΛΛΗΛΟΣ 95 puts <option\ value="2">ιδιωτικοσ\ ΥΠΑΛΛΗΛΟΣ 96 puts <option\ value="3">ελευθεροσ\ ΕΠΑΓΓΕΛΜΑΤΙΑΣ 97 puts <option\ value="4">αλλο 98 puts </select></td> 99 puts </tr> 100 puts <tr> 101 puts <td\ align="right">κύρια\ απασχόληση</td> 102 puts <td\ align="left"><input\ type="text"\ name="f2"></td> 103 puts <td\ align="right">υπάρχει\ άδεια\ απασχόλησης</td> 104 puts <td\ align="left"><select\ name="h3"> 105 puts <option\ value="1">ναι 106 puts <option\ value="2">οχι 107 puts </select></td> 108 puts </tr> 109 puts <tr> 110 puts <td\ align="right">διεύθυνση\ Εργασίας</td> 111 puts <td><input\ type="text"\ name="joba"></td> 112 puts <td\ align="right">τηλέφωνο\ Εργασίας</td> 113 puts <td><input\ type="text"\ name="phone"></td> 114 puts </tr> 115 puts <tr> 116 puts <td\ colspan="4"><hr></td> 117 puts </tr> 118 puts <tr> 119 puts <td\ colspan="4"\ align="center"><p><b><u>στοιχεία\ Ασφάλισης</u></b></p></td> 120 puts </tr> 121 puts <tr> 122 puts <td\ colspan="4">&nbsp</td> 67

69 123 puts </tr> 124 puts <tr> 125 puts <td\ align="right">είδος\ ασφάλισης 126 puts <td\ align="left"><select\ name="f3"> 127 puts <option\ value="1">δημοσιου 128 puts <option\ value="2">ιδιωτικη 129 puts <option\ value="3">ανασφαλιστοσ 130 puts </select></td> 131 puts <td\ align="right">φορέας\ ασφάλισης</td> 132 puts <td\ align="left"><select\ name="ga"> 133 puts <option\ value="1">ικα 134 puts <option\ value="2">τσμεδε 135 puts <option\ value="3">γ.ε.ω.τε 136 puts <option\ value="4">αλλο 137 puts </select></td> 138 puts <tr> 139 puts <td\ align="right">αριθμός\ Μητρώου\ Ασφάλισης</td> 140 puts <td\ align="left"><input\ type="text"\ name="g2"></td> 141 puts <td\ colspan="2">&nbsp 142 puts </tr> 143 puts <tr> 144 puts <td\ colspan="2"\ align="right">επιλέξτε\ αν\ ασφαλιστήκατε\ πριν\ ή\ μετά\ τις\ 1/1/1993</td> 145 puts <td>&nbsp</td> 146 puts <td\ align="left"><select\ name="g1"> 147 puts <option\ value="1">πριν 148 puts <option\ value="2">μετα 149 puts </select></td> 150 puts </tr> 151 puts <tr> 152 puts <td\ colspan="4"><hr></td> 153 puts </tr> 154 puts <tr> 155 puts <td\ colspan="4"\ align="center"><p><b><u>στοιχεία\ Επικοινωνίας</u></b></p></td> 156 puts </tr> 157 puts <tr> 158 puts <td\ colspan="4">&nbsp</td> 159 puts </tr> 160 puts <tr> 161 puts <td\ align="right">τηλέφωνο</td> 162 puts <td\ align="left"><input\ type="text"\ name="e4"></td> 163 puts <td\ align="right">δεύτερο\ Τηλέφωνο</td> 164 puts <td\ align="left"><input\ type="text"\ name="e5"></td> 165 puts </tr> 166 puts <tr> 167 puts <td\ align="right">\ Κινητό</td> 168 puts <td\ align="left"><input\ type="text"\ name="f1"></td> 169 puts <td\ align="right"> </td> 170 puts <td\ align="left"><input\ type="text"\ name="e3"></td> 171 puts </tr> 172 puts <tr> 173 puts <td\ colspan="4"><hr></td> 174 puts </tr> 175 puts <tr> 176 puts <td\ colspan="4"\ align="center"><p><b><u>λοιπά\ Στοιχεία</u></b></p></td> 177 puts </tr> 178 puts <tr> 179 puts <td\ colspan="4">&nbsp</td> 180 puts </tr> 68

70 181 puts <tr> 182 puts <td\ align="right">αριθμός\ Λογαριασμού\ Στην\ Τράπεζα\ Πειραιώς</td> 183 puts <td\ align="left"><input\ type="text"\ name="h4"></td> 184 puts <td\ align="right">ημερομηνία</td> 185 puts <td\ align="left"><input\ type="text"\ name="h5"></td> 186 puts </tr> 187 puts <tr> 188 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 189 puts <td\ align="left"><input\ type="text"\ name="a1"></td> 190 puts <td\ align="right">τμήμα</td> 191 puts <td\ align="left"><input\ type="text"\ name="a2"></td> 192 puts </tr> 193 puts <TR> 194 puts <td\ colspan="4"\ align="center"\ height=40><p><button\ name="b2"><p><b>καταχωρηση</b></p></button></p></td> 195 puts </TR> 196 puts </table> 197 puts </form> 198 puts <script\ language="javascript"\ type="text/javascript"> 199 puts <! set fb [lindex [sql "select * from aitisi where id_teacher=$names"] 0] 201 set fc [lindex [sql "select * from teacher where id=$names"] 0] 202 puts fa.id.value="[lindex $fc 0]"\; 203 puts fa.s9.value="[lindex $fb 10]"\; 204 puts fa.a1.value="[lindex $fb 8]"\; 205 puts fa.a2.value="[lindex $fb 9]"\; 206 puts fa.a3.value="[lindex $fc 2]"\; 207 puts fa.a4.value="[lindex $fc 1]"\; 208 puts fa.b1.value="[lindex $fc 3]"\; 209 puts fa.b2.value="[lindex $fc 4]"\; 210 puts fa.b3.value="[lindex $fc 5]"\; 211 puts fa.b4.value="[lindex $fc 7]"\; 212 puts fa.c1.value="[lindex $fc 8]"\; 213 puts fa.c2.value="[lindex $fc 6]"\; 214 puts fa.c3.value="[lindex $fc 9]"\; 215 puts fa.d1.value="[lindex $fc 11]"\; 216 puts fa.d2.value="[lindex $fc 12]"\; 217 puts fa.d3.value="[lindex $fc 13]"\; 218 puts fa.d5.value="[lindex $fc 14]"\; 219 puts fa.e1.value="[lindex $fc 15]"\; 220 puts fa.e2.value="[lindex $fc 16]"\; 221 puts fa.e3.value="[lindex $fc 17]"\; 222 puts fa.e4.value="[lindex $fc 18]"\; 223 puts fa.e5.value="[lindex $fc 19]"\; 224 puts fa.f1.value="[lindex $fc 20]"\; 225 puts fa.f2.value="[lindex $fc 21]"\; 226 puts fa.f3.value="[lindex $fc 31]"\; 227 puts fa.g1.value="[lindex $fc 32]"\; 228 puts fa.g2.value="[lindex $fc 22]"\; 229 puts fa.h3.value="[lindex $fc 33]"\; 230 puts fa.c4.value="[lindex $fc 10]"\; 231 puts fa.h4.value="[lindex $fc 24]"\; 232 puts fa.h5.value="[lindex $fc 36]"\; 233 puts FA.go.value="[lindex $fc 30]"\; 234 puts fa.mon.value="[lindex $fc 26]"\; 235 puts fa.ga.value="[lindex $fc 37]"\; 236 puts fa.joba.value="[lindex $fc 28]"\; 237 puts fa.phone.value="[lindex $fc 29]"\; 238 puts --> 69

71 239 puts </script> 240 puts </body> 241 puts </html> Δεν θα ήταν δόκιμο να αναλύσω αυτό το κομμάτι κώδικα μια και η τεχνική και το σκεπτικό με τον οποίο αναπτύχθηκε, είναι ίδιο με αυτό που αναπτύχθηκε ο κώδικας για την κύρια σελίδα των αναθέσεων. Έτσι και εδώ η ενότητα BODY αποτελείται από πλαίσια κειμένου και λίστες κειμένου και από την γραμμή 198 έως 239 βλέπουμε και πάλι την ετικέτα SCRIPT με την οποία η εφαρμογή κάνει την ανάκτηση που εξήγησα προηγουμένως. Αν παρατηρήσουμε στο σχήμα 1 δεν υπάρχει επιλογή για να διορθωθεί η υπεύθυνη δήλωση στοιχειών. Αυτό γίνεται γιατί πατώντας ο χρήστης το κουμπί καταχώρηση η σελίδα aitisi.tcl στέλνει όλα τα στοιχεία που πληκτρολόγησε ο χρήστης στην σελίδα aitisi1.tcl η οποία δεν δημιουργεί μία νέα εγγραφή στην βάση δεδομένων, αντίθετα ανανεώνει τα ήδη υπάρχοντα στοιχεία γιατί όπως είναι λογικό τα παλιά στοιχεία του δεν είναι απαραίτητο να τα διατηρούμε υποθηκευμένα στην βάση δεδομένων μας. Έτσι όπως είναι προφανές δεν είναι ανάγκη να δημιουργήσω επιπλέον κουμπί που θα διορθώνει μια και ο χρήστης θα μπορεί να αλλάξει τα στοιχεία που έχει καταχωρίσει κάθε φορά που μπαίνει στην κύρια σελίδα της υπεύθυνης δήλωσης στοιχείων. Ο κώδικας της σελίδας aitisi1.tcl φαίνεται παρακάτω. 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "update aitisi set akadetos=\"$a1\", tmima=\"$a2\", id_teacher=\"$id\", bathmida=\"$s9\" where (id_teacher=\"$id\")" 9 sql "update teacher set l_name=\"$a3\", f_name=\"$a4\", fathername=\"$b1\", mothername=\"$b2\", birthdate=\"$b3\", whname=\"$b4\",cityofbirth=\"$c1\",family=\"$c2\", stateofbirth=\"$c3\",afm=\"$d1\",adt=\"$d2\",address=\"$d3\",place=\"$d5\",city=\"$e1\",t k=\"$e2\",mail=\"$e3\",phone1=\"$e4\",phone2=\"$e5\",mobilephone=\"$f 1\",primaryjob=\"$f2\",kindofasfalisi=\"$f3\",prinmeta=\"$g1\",asfaln umber=\"$g2\", adeiaapasxolisis=\"$h3\",eforia=\"$c4\", peireosnumber=\"$h4\", date=\"$h5\", placeoftaftotita=\"$go\", foreasasfal=\"$ga\", epagelma=\"$mon\", jobaddress=\"$joba\", jobphone=\"$phone\" where (id=\"$id\")" 10 puts <html> 11 puts <head> 12 puts <title>καταχωρηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ ΣΤΟΙΧΕΙΩΝ</title> 13 puts </head> 70

72 14 puts <body\ bgcolor="#d9f2ff"> 15 puts <table\ align="center" 16 puts <tr> 17 puts <td\ align="center">η\ ΚΑΤΑΧΩΡΗΣΗ\ ΠΡΑΓΜΑΤΟΠΟΙΗΘΗΚΕ\ ΕΠΙΤΥΧΩΣ</td> 18 puts </tr> 19 puts </table> 20 puts </body> 21 puts </html> Στις γραμμές 8 και 9 βλέπουμε την εντολή UPDATE της SQL, με την οποία αντικαθιστούμε ήδη υπάρχοντα στοιχεία στους πίνακες aitisi και teacher με id_teacher και id αντίστοιχα ίσο με το περιεχόμενο της μεταβολίτης id που προέρχεται από την σελίδα aitisi.tcl Συμβάσεις και διόρθωση συμβάσεων Μία από τις βασικότερες λειτουργίες της εφαρμογής που παρουσιάζω είναι η καταχώρηση και δημιουργία συμβάσεων. Για να μπορέσει ο χρήστης να καταχωρίσει μια σύμβαση θα πρέπει να πάει στην σελίδα simvaseis.tcl. Για να μπορέσει ο χρήστης να καταχωρήσει τα στοιχεία του καθηγητή με τον οποίο θέλει το ΤΕΙ Καβάλας να κάνει μια σύμβαση πρέπει πρώτα να βρει α υπάρχει ο καθηγητής μέσα στην βάση της εφαρμογής. Έτσι και πάλι θα πρέπει να το αναζητήσει με την μηχανή αναζήτησης που ανάλυσα στις ενότητες 4.5 και 4.6. Στην συνέχεια αφού επιλεγεί ο καθηγητής εμφανίζεται η κύρια σελίδα των συμβάσεων η οποία περιέχει πλαίσια κειμένων και λίστες κειμένου στα οποία θα εισαχθούν οι πληροφορίες. Εδώ πρέπει πω ότι εάν υπάρχουν παλαιότερες συμβάσεις καταχωρημένες στην βάση τότε της τελευταίας που καταχωρήθηκε τα στοιχεία εμφανίζονται στα πλαίσια κειμένου της σελίδας, γίνεται δηλαδή ανάκτηση. Πιο κάτω μπορούμε να δούμε πως είναι η σελίδα αυτή. 71

73 Σχήμα 9. Καταχώριση Σύμβασης Ο κώδικας που εμφανίζει την σελίδα στο παραπάνω σχήμα έχει ως εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ name="ff"\ action="simvaseis1.tcl"\ method="post"> 14 puts <table\ border="0"\ align="center"> 15 puts <tr> 16 puts <td\ align="center"\ colspan="4"><p><b>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ</b></p></td> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="4">&nbsp</td> 20 puts </tr> 21 puts <tr> 22 puts <td\ colspan="4"><hr></td> 23 puts </tr> 24 puts <tr> 25 puts <td\ align="right">\ Ημερομηνία\ </td> 26 puts <td><input\ type="text"\ name="a"></td> 27 puts <td\ align="right">\ Ημέρα\ </td> 28 puts <td><select\ name="b"> 29 puts <option\ value="1">δευτερα 30 puts <option\ value="2">τριτη 31 puts <option\ value="3">τεταρτη 32 puts <option\ value="4">πεμπτη 33 puts <option\ value="5">παρασκευη 34 puts </select></td> 72

74 35 puts </tr> 36 puts <tr> 37 puts <td\ align="right">\ Έτος\ (EEEE-EEEE)</td> 38 puts <td><input\ type="text"\ name="c"></td> 39 puts <td\ align="right">\ Όνομα\ </td> 40 puts <TD><input\ type="text"\ name="d"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">\ Επίθετο\ </td> 44 puts <TD><input\ type="text"\ name="e"></td> 45 puts <td\ align="right">\ ID\ καθηγητή</td> 46 puts <td><input\ type="text"\ name="f"></td> 47 puts </tr> 48 puts <tr> 49 puts <td\ align="right">\ Αρ.\ απόφασης\ συμβουλίου\ Τ.Ε.Ι.\ </td> 50 puts <td><input\ type="text"\ name="g"></td> 51 puts <td\ align="right">\ Αριθμός\ απόφασης\ γενικής\ συνέλευσης\ τμήματος</td> 52 puts <td><input\ type="text"\ name="h"></td> 53 puts </tr> 54 puts <tr> 55 puts <td\ align="right">ημερομηνία\ απόφ.\ γέν.\ συνέλ. 56 puts <td><input\ type="text"\ name="h1"></td> 57 puts <td\ alignn="right">\ Αριθμός\ Ωρών\ που\ ανατέθηκαν\ </td> 58 puts <td><input\ type="text"\ name="i"></td> 59 puts </tr> 60 puts <tr> 61 puts <td\ align="right">\ Βαθμίδα</td> 62 puts <td\ colspan="3"><select\ name="k"> 63 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 64 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 65 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 66 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 67 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 68 puts </select> 69 puts </tr> 70 puts <tr> 71 puts <td\ align="right">καταχώρηση</td> 72 puts <td\ align="left"><select\ name="qo"> 73 puts <option\ value="1">νεασ\ ΣΥΜΒΑΣΗΣ 74 puts <option\ value="2">τροποποιηση\ ΣΥΜΒΑΣΗΣ 75 puts </select> 76 puts <td\ align="right">ωριαία\ αμοιβή</td> 77 puts <td><input\ type="text"\ name="vj"></td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="right">έναρξη\ Σύμβασης</td> 81 puts <td><input\ type="text"\ name="enar"></td> 82 puts <td\ align="right">λήξη\ Σύμβασης</td> 83 puts <td><input\ type="text"\ name="lixi"></td> 84 puts </tr> 85 puts <tr> 86 puts <td\ colspan="4">&nbsp</td> 87 puts </tr> 88 puts <tr> 73

75 89 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ 90 value="καταχωρηση"></td> 91 puts </tr> 92 puts </table> 93 puts </form> 94 puts <form\ name="v"\ action="/index.html"\ method="post"> 95 puts <table\ align="center"> 96 puts <tr> 97 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 98 puts </tr> 99 puts </table> 100 puts </form> 101 puts <script\ language="javascript"\ type="text/javascript"> 102 puts <! set f1 [lindex [sql "select * from simvasi where id_teacher=$names"] 0] 104 set f2 [lindex [sql "select f_name, l_name, id from teacher where id=$names"] 0] 105 set f5 [lindex [sql "select ar_symb_tei, gen_synel_num, date3, akadetos from simvoulnum where (akadetos like \"$a\")"] 0] 106 puts ff.a.value="[lindex $f1 2]"\; 107 puts ff.b.value="[lindex $f1 3]"\; 108 puts ff.c.value="[lindex $f5 3]"\; 109 puts ff.d.value="[lindex $f2 0]"\; 110 puts ff.e.value="[lindex $f2 1]"\; 111 puts ff.f.value="[lindex $f2 2]"\; 112 puts ff.g.value="[lindex $f5 0]"\; 113 puts ff.h.value="[lindex $f5 1]"\; 114 puts ff.h1.value="[lindex $f5 2]"\; 115 puts ff.i.value="[lindex $f1 7]"\; 116 puts ff.k.value="[lindex $f1 8]"\; 117 puts ff.qo.value="[lindex $f1 13]"\; 118 puts ff.enar.value="[lindex $f1 15]"\; 119 puts ff.lixi.value="[lindex $f1 16]"\; 120 puts ff.vj.value="[lindex $f1 14]"\; 121 puts --> 122 puts </script> 123 Puts </body> 124 puts </html> Όπως και στην ενότητα 4.7 έτσι και εδώ ό κώδικας αποτελείται από δύο ενότητες την ΗEAD και την BODY των οποίων τα περιεχόμενα και τις λειτουργίες τους τα έχουμε ήδη αναλύσει. Έτσι επιγραμματικά αναφέρω ότι και εδώ βλέπουμε από την γραμμή 25 έως την 83 δημιουργώ πλαίσια κειμένου και λίστες κειμένου και από την γραμμή 101 έως την 122 βλέπουμε την μέθοδο με την οποία γίνεται η ανάκτηση από την βάση δεδομένων. Σε περίπτωση που ο χρήστης κάνει κάποιο λάθος στην καταχώρηση της σύμβασης και το διαπιστώσει αργότερα μπορεί να επιλέξει το κουμπί διόρθωση καταχωρημένης σύμβασης από την εισαγωγική σελίδα και να διορθώσει το λάθος. Και εδώ ο χρήστης πρέπει να αναζητήσει την λανθασμένη σύμβαση και αφού επιλέξει την χρονολογία και το όνομα του καθηγητή, εμφανίζεται μια σελίδα 74

76 πανομοιότυπη με την σελίδα στο σχήμα 9. Αυτό σημαίνει ότι ο κώδικάς είναι ίδιος με πριν. Η μόνη διαφοροποίηση που υπάρχει είναι οι εντολές αναζήτησης στην βάση δεδομένων στην ετικέτα SCRIPT, οι οποίες αναζητούν στους πίνακες simvasi και teacher τις εγγραφές στα πεδία που έχουν id ή id_teacher και akadetos ίδιο με τα περιεχόμενα των μεταβλητών names και a αντίστοιχα. Από κάτω μπορούμε να δούμε τον κομμάτι αυτό του κώδικα: 1 puts <script\ language="javascript"\ type="text/javascript"> 2 puts <!-- 3 set f1 [lindex [sql "select * from simvasi where (id_teacher=\"$names\") && (year=\"$a\") "] 0] 4 set f2 [lindex [sql "select f_name, l_name, id from teacher where id=$names"] 0] 5 puts ff.a.value="[lindex $f1 2]"\; 6 puts ff.b.value="[lindex $f1 3]"\; 7 puts ff.c.value="[lindex $f1 6]"\; 8 puts ff.d.value="[lindex $f2 0]"\; 9 puts ff.e.value="[lindex $f2 1]"\; 10 puts ff.f.value="[lindex $f2 2]"\; 11 puts ff.g.value="[lindex $f1 4]"\; 12 puts ff.h.value="[lindex $f1 5]"\; 13 puts ff.h1.value="[lindex $f1 11]"\; 14 puts ff.i.value="[lindex $f1 7]"\; 15 puts ff.k.value="[lindex $f1 8]"\; 16 1puts ff.qo.value="[lindex $f1 13]"\; 17 puts ff.enar.value="[lindex $f1 15]"\; 18 puts ff.lixi.value="[lindex $f1 16]"\; 19 puts ff.vj.value="[lindex $f1 14]"\; 20 puts --> 21 puts </script> Στην συνέχεια αφού ο χρήστης έχει κάνει τις αλλαγές και τις διορθώσεις που θέλει στην σύμβαση και πατήσει το κουμπί διόρθωση, τότε οι πληροφορίες στέλνονται στην σελίδα diorthsimvaseis1.tcl η οποία με την εντολή UPDATE της SQL επεμβαίνει και αλλάζει τους πίνακες που περιέχουν τις λανθασμένες καταχωρήσεις. Από κάτω μπορούμε να δούμε τον κώδικα αυτής της σελίδας. 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "update simvasi set date=\"$a\", day=\"$b\", year=\"$c\", f_name=\"$c\", l_name=\"$e\", id_teacher=\"$f\", apof_symb_tei=\"$g\", apof_gen_synel_dp=\"$h\", dateapof=\"$h1\", hours=\"$i\", bathmida=\"$k\", tropop=\"$qo\", enarxi=\"$enar\", lixi=\"$lixi\", orpliromi=\"$vj\" where (year=\"$c\") && (id_teacher=\"$f\")" 9 puts <html> 75

77 10 puts <head> 11 puts <title>διορθωση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 12 puts </head> 13 puts <body> 14 puts <table\ align="center"> 15 puts <td>πραγματοποιηθηκε\ Η\ ΔΙΟΡΘΩΣΗ\ ΤΗΣ\ ΣΥΜΒΑΣΗΣ\ ΕΠΙΤΥΧΩΣ</td> 16 puts </table> 17 puts </body> 18 puts </html> Καταστάσεις Η εφαρμογή παρέχει την δυνατότητα στον χρήστη να εμφανίζει λίστες με διάφορες πληροφορίες για τους καθηγητές της σχολής. Έτσι ο χρήστης μπορεί να εμφανίσει πληροφορίες για όλους τους ενεργούς καθηγητές ή για όλους τους πρώην συνεργάτες ή τους μη επιλεχθέντες ή τέλος για όλους μαζί. Όλα αυτά μπορεί να τα κάνει με την σελίδα katastaseis.tcl επιλέγοντας μία από τις τέσσερεις επιλογές. Από κάτω βλέπουμε την σελίδα katastaseis.tcl. Σχήμα 8. Καταστάσεις Ο κώδικας που εμφανίζει την σελίδα του σχήματος 8 έχει ως εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 76

78 8 puts <html> 9 puts <head> 10 puts <title>καταστασεισ\ ΚΑΘΗΓΗΤΩΝ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="katastaseis1.tcl"\ method="post"> 14 puts <table\ align="center"> 15 puts <tr> 16 puts <td>&nbsp</td> 17 puts </tr> 18 puts <tr> 19 puts <td>&nbsp</td> 20 puts </tr> 21 puts <tr> 22 puts <td>&nbsp</td> 23 puts </tr> 24 puts <tr> 25 puts <td><input\ type="radio"\ name="a"\ value="1">πρώην\ Συνεργάτες</td> 26 puts <td><input\ type="radio"\ name="a"\ value="2">ενεργοί</td> 27 puts <td><input\ type="radio"\ name="a"\ value="3">μη\ επιλεχθέντες</td> 28 puts <td><input\ type="radio"\ name="a"\ value="4">εμφάνιση\ όλων</td> 28 puts </tr> 29 puts <tr> 30 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="εμφανιση"></td> 31 puts </tr> 32 puts </table> 33 puts </form> 34 puts <form\ name="v"\ action="/index.html"\ method="post"> 35 puts <table\ align="center"> 36 puts <tr> 37 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΙΚΗ\ ΣΕΛΙΔΑ"></td> 38 puts </tr> 39 puts </table> 40 puts </form> 41 puts </body> 42 puts </html> Και εδώ όπως και στα χορηγούμενα κομμάτια κώδικα που ανέλυσα οι επτά πρώτες γραμμές κώδικα είναι ίδιες και έχουν αναλυθεί. Εδώ βλέπουμε μια διαφορετική σελίδα από τις προηγούμενες που ανέλυσα. Εδώ δεν υπάρχουν πλαίσια κειμένου και λίστες κειμένου, αλλά τέσσερα ραδιοπλήκτρα. Η σύνταξή τους αρχίζει από την γραμμή 25 έως τη 28 και συντάσσονται με την ετικέτα input η οποία είναι τύπου radio. Όπως παρατηρούμε και τα τέσσερα ραδιοπλήκτρα έχουν το ίδιο όνομα name, αυτό γίνεται για να μην μπορεί να επιλέξει ο χρήστης πάνω από ένα ραδιοπλήκτρο την φορά. Αντίθετα η τιμή που παίρνει το κάθε ραδιοπληκτρο είναι διαφορετική. Αυτό γίνεται για να ξεχωρίζει για να ξεχωρίζει την λειτουργία που θα κάνει η κάθε επιλογή 77

79 Κάθε φορά που ο χρήστης επιλέγει μία από τις τέσσερεις επιλογές και πατάει το πλήκτρο εμφάνιση οδηγείται στην σελίδα katastaseis1.tcl η οποία του εμφανίζει όλους του καθηγητές με κάποια προσωπικά τους στοιχεία ένα παράδειγμα της λίστας που εμφανίζεται βλέπουμε στο σχήμα 11. Σχήμα 11. Κατάσταση καθηγητών Ο κώδικας ο οποίος εμφανίζει την σελίδα του σχήματος 11 έχει ως εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=1"] 9 set f2 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=2"] 10 set f3 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=3"] 11 foreach ro $f2 { 12 set roo [sql "select id from mathima where id_teacher=[lindex $ro 0]"] 13 } 14 if {$a == 1} { 15 puts <html> 16 puts <head> 17 foreach j $f1 { 18 puts <table\ border="1"\ align="center"\ width=1000> 19 puts <tr> 20 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΠΡΟΗΝ\ ΣΥΝΕΡΓΑΤΩΝ)</td> 21 puts <td\ align="center"\ width=100>σπίτι</td> 22 puts <td\ align="center"\ width=100>εργασία</td> 23 puts <td\ align="center"\ width=100>κινητό</td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="left">a.m:\ ([lindex $j 0]),\ [lindex $j 2]\ [lindex $j 1]</td> 27 puts <td>[lindex $j 4]</td> 28 puts <td>[lindex $j 5]</td> 29 puts <td>[lindex $j 6]</td> 30 puts </tr> 31 puts <tr> 32 puts <td\ align="left">[lindex $j 7]\ </td> 33 puts <td>&nbsp</td> 78

80 34 puts <td>&nbsp</td> 35 puts <td>&nbsp</td> 36 puts </tr> 37 puts <tr> 38 puts <td\ align="left">[lindex $j 3]\ </td> 39 puts <td>&nbsp</td> 40 puts <td>&nbsp</td> 41 puts <td>&nbsp</td> 42 puts </tr> 43 puts </table> 44 } 45 puts </body> 46 puts </html> 47 } elseif {$a == 2} { 48 puts <html> 49 puts <head> 50 puts <title>κατασταση\ ΕΝΕΡΓΩΝ\ ΣΥΝΕΡΓΑΤΩΝ</title> 51 puts </head> 52 puts <body> 53 foreach k $f2 { 54 puts <table\ border="1"\ align="center"\ width=1000> 55 puts <tr> 56 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΕΝΕΡΓΟΙ)</td> 57 puts <td\ align="center"\ width=100>σπίτι</td> 58 puts <td\ align="center"\ width=100>εργασία</td> 59 puts <td\ align="center"\ width=100>κινητό</td> 60 puts </tr> 61 puts <tr> 62 puts <td\ align="left">a.m:\ ([lindex $k 0]),\ [lindex $k 2]\ [lindex $k 1]</td> 63 puts <td>[lindex $k 4]</td> 64 puts <td>[lindex $k 5]</td> 65 puts <td>[lindex $k 6]</td> 66 puts </tr> 67 puts <tr> 68 puts <td\ align="left">[lindex $k 7]\ </td> 69 puts <td>&nbsp</td> 70 puts <td>&nbsp</td> 71 puts <td>&nbsp</td> 72 puts </tr> 73 puts <tr> 74 puts <td\ align="left">[lindex $k 3]\ </td> 75 puts <td>&nbsp</td> 76 puts <td>&nbsp</td> 77 puts <td>&nbsp</td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="left">[lindex [lindex $er 0] 0]</td> 81 puts <td>&nbsp</td> 82 puts <td>&nbsp</td> 83 puts <td>&nbsp</td> 84 puts </tr> 85 foreach rao $roo { 86 set or [sql "select name, type from course where id=[lindex $rao 0]"] 87 puts <tr> 88 puts <td\ align="left">[lindex $or 0]</td> 89 puts <td>&nbsp</td> 90 puts <td>&nbsp</td> 91 puts <td>&nbsp</td> 92 puts </tr> 79

81 93 } 94 puts </table> 95 } 96 puts </body> 97 puts </html> 98 } elseif {$a == 3} { 99 foreach l $f3 { 100 puts <table\ border="1"\ align="center"\ width=1000> 101 puts <tr> 102 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΜΗ\ ΕΠΙΛΕΧΘΕΝΤΩΝ)</td> 103 puts <td\ align="center"\ width=100>σπίτι</td> 104 puts <td\ align="center"\ width=100>εργασία</td> 105 puts <td\ align="center"\ width=100>κινητό</td> 106 puts </tr> 107 puts <tr> 108 puts <td\ align="left">a.m:\ ([lindex $l 0]),\ [lindex $l 2]\ [lindex $l 1]</td> 109 puts <td>[lindex $l 4]</td> 110 puts <td>[lindex $l 5]</td> 111 puts <td>[lindex $l 6]</td> 112 puts </tr> 113 puts <tr> 114 puts <td\ align="left">[lindex $l 7]\ </td> 115 puts <td>&nbsp</td> 116 puts <td>&nbsp</td> 117 puts <td>&nbsp</td> 118 puts </tr> 119 puts <tr> 120 puts <td\ align="left">[lindex $l 3]\ </td> 121 puts <td>&nbsp</td> 122 puts <td>&nbsp</td> 123 puts <td>&nbsp</td> 124 puts </tr> 125 puts </table> 126 } 127 puts </body> 128 puts </html> 129 } elseif {$a == 4} { 130 puts <html> 131 puts <head> 132 puts <title>καταστασεισ\ ΣΥΝΕΡΓΑΤΩΝ</title> 133 puts </head> 134 puts <body> 135 foreach k $f2 { 136 puts <table\ border="1"\ align="center"\ width=1000> 137 puts <tr> 138 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΕΝΕΡΓΟΙ)</td> 139 puts <td\ align="center"\ width=100>σπίτι</td> 130 puts <td\ align="center"\ width=100>εργασία</td> 141 puts <td\ align="center"\ width=100>κινητό</td> 142 puts </tr> 143 puts <tr> 144 puts <td\ align="left">a.m:\ ([lindex $k 0]),\ [lindex $k 2]\ [lindex $k 1]</td> 145 puts <td>[lindex $k 4]</td> 146 puts <td>[lindex $k 5]</td> 147 puts <td>[lindex $k 6]</td> 148 puts </tr> 149 puts <tr> 150 puts <td\ align="left">[lindex $k 7]\ </td> 80

82 151 puts <td>&nbsp</td> 152 puts <td>&nbsp</td> 153 puts <td>&nbsp</td> 154 puts </tr> 155 puts <tr> 156 puts <td\ align="left">[lindex $k 3]\ </td> 157 puts <td>&nbsp</td> 158 puts <td>&nbsp</td> 159 puts <td>&nbsp</td> 160 puts </tr> 161 foreach ra $roo { 162 set er [sql "select name, type from course where id=[lindex $ra 0]"] 163 puts <tr> 164 puts <td\ align="left">[lindex $er 0]</td> 165 puts <td>&nbsp</td> 166 puts <td>&nbsp</td> 167 puts <td>&nbsp</td> 168 puts </tr> 169 } 170 puts </table> 171 } 172 foreach j $f1 { 173 puts <table\ border="1"\ align="center"\ width=1000> 174 puts <tr> 175 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΠΡΟΗΝ\ ΣΥΝΕΡΓΑΤΩΝ)</td> 176 puts <td\ align="center"\ width=100>σπίτι</td> 177 puts <td\ align="center"\ width=100>εργασία</td> 178 puts <td\ align="center"\ width=100>κινητό</td> 179 puts </tr> 180 puts <tr> 181 puts <td\ align="left">a.m:\ ([lindex $j 0]),\ [lindex $j 2]\ [lindex $j 1]</td> 182 puts <td>[lindex $j 4]</td> 183 puts <td>[lindex $j 5]</td> 184 puts <td>[lindex $j 6]</td> 185 puts </tr> 186 puts <tr> 187 puts <td\ align="left">[lindex $j 7]\ </td> 188 puts <td>&nbsp</td> 189 puts <td>&nbsp</td> 190 puts <td>&nbsp</td> 191 puts </tr> 192 puts <tr> 193 puts <td\ align="left">[lindex $j 3]\ </td> 194 puts <td>&nbsp</td> 195 puts <td>&nbsp</td> 196 puts <td>&nbsp</td> 197 puts </tr> 198 puts </table> 199 } 200 foreach l $f3 { 201 puts <table\ border="1"\ align="center"\ width=1000> 202 puts <tr> 203 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΜΗ\ ΕΠΙΛΕΧΘΕΝΤΩΝ)</td> 204 puts <td\ align="center"\ width=100>σπίτι</td> 205 puts <td\ align="center"\ width=100>εργασία</td> 206 puts <td\ align="center"\ width=100>κινητό</td> 207 puts </tr> 81

83 208 puts <tr> 209 puts <td\ align="left">a.m:\ ([lindex $l 0]),\ [lindex $l 2]\ [lindex $l 1]</td> 210 puts <td>[lindex $l 4]</td> 211 puts <td>[lindex $l 5]</td> 212 puts <td>[lindex $l 6]</td> 213 puts </tr> 214 puts <tr> 215 puts <td\ align="left">[lindex $l 7]\ </td> 216 puts <td>&nbsp</td> 217 puts <td>&nbsp</td> 218 puts <td>&nbsp</td> 219 puts </tr> 220 puts <tr> 221 puts <td\ align="left">[lindex $l 3]\ </td> 222 puts <td>&nbsp</td> 223 puts <td>&nbsp</td> 224 puts <td>&nbsp</td> 225 puts </tr> 226 puts </table> 227 } 228 puts </body> 229 puts </html> 230 } 231 puts </body> 232 puts </html> Με αυτόν τον κώδικα μπορούν να εμφανιστούν αποτελέσματα από τέσσερεις διαφορετικές επιλογές που κάνει ο χρήστης. Τα αποτελέσματα χωρίζονται σύμφωνα με το αν ο καθηγητής είναι ενεργός, πρόην συνεργάτης ή μη επιλεχθέντες. Έτσι η σελίδα κάνει την αναζήτησή με την εντολή SELECT της SQL στις γραμμές 8, 9 και 10 από τον πίνακα teacher. Παρατηρώντας πιο προσεχτικά τις γραμμές 8, 9 και 10 βλέπουμε ότι επιλέγουν ακριβός τα ίδια στοιχεία από τον ίδιο πίνακα αλλά με διαφορετικούς όρους με αποτέλεσμα η κάθε γραμμή να εμφανίζει διαφορετικά αποτελέσματα. Ο όρος με τον οποίο επιλέγει η κάθε γραμμή είναι σύμφωνα με το πεδίο katastasi στο οποίο έιναι καταγεγραμμένη η επιλογή του αν έχει την τιμή 1 που σημαίνει ότι ο καθηγητής είναι πρώην συνεργάτης, την τιμή 2 που σημαίνει ότι ο καθηγητής είναι ενεργός και την τιμή 3 που σημαίνει ότι ο καθηγητής είναι μη επιλεχθέν. Στην γραμμή 11 βλέπουμε την εντολή FOREACH η οποία παίρνει τα στοιχεία της εντολής αναζήτησης της γραμμής 9, με σκοπό να πάρει το id μαθήματος του μαθήματος που διδάσκει ο καθηγητής του οποίου τα στοιχεία αναζητούνται στην γραμμή 9. Χρησιμοποιώ την Foreach για να μπορώ να επαναλάβω τη εντολή select που βλέπουμε στην γραμμή 12 τόσες φορές όσα είναι και τα μαθήματα που έχουν ανατεθεί στον καθηγητή. Στην συνέχεια σύμφωνα με το id μαθήματος επιλέγεται και 82

84 εμφανίζεται το όνομα του μαθήματος μέσα στον πίνακα με τους καθηγητές, αυτό μπορούμε να το δούμε στις γραμμές 86 όπου επιλέγεται το όνομα και ο τύπος του μαθήματος από τον πίνακα course που έχει id ίδιο με το id που επιλέχθηκε από τον πίνακα mathima στην γραμμή 11. Τέλος εμφανίζεται στην γραμμή 88 του κώδικα. Γενικότερα ο κώδικας χωρίζεται σε τέσσερα μέρη με τέσσερεις εντολές if οι οποίες ελέγχουν τις τιμές που πήραν από την σελίδα katastaseis.tcl. Βλέποντας την γραμμή 14, με την πρώτη if ο κώδικας ελέγχει αν η τιμή που πείρε από την προηγούμενη σελίδα έχει τιμή 1 τότε εμφανίζει έναν πίνακα ο οποίος στα κελιά του περιέχει τις τιμές της αναζήτησης που έγινε στην γραμμή 8 δηλαδή των πρώην συνεργατών, εάν η προηγούμενη σελίδα δεν έχει στείλει την τιμή 1 αλλά την 2 τότε αυτό ελέγχεται από την εντολή elseif στην γραμμή 47, έτσι από κάτω δημιουργείται ένας πανομοιότυπος πίνακας στον οποίο εμφανίζονται τα αποτελέσματα της αναζήτησης της γραμμής 9 δηλαδή των ενεργών καθηγητών. Εάν η τιμή που στέλνει η προηγούμενη σελίδα είναι 3 τότε αυτό ελέγχεται από την γραμμή 98 με τη εντολή elseif και δημιουργείται από κάτω ένας πίνακας που περιέχει τα αποτελέσματα της αναζήτησης στην γραμμή 10. Τέλος αν η τιμή που στέλνει η σελίδα katastaseis.tcl είναι 4 εμφανίζονται όλοι οι πίνακες με τα στοιχεία και των τριών αναζητήσεων. Όπως παρατηρούμε μετά από κάθε εντολή if και elseif υπάρχει μία εντολή foreach όπως μπορούμε να διακρίνουμε στις γραμμές 17, 53, 99 και 135, αυτό γίνεται γιατί θέλουμε α εμφανίζονται τα στοιχεία όλων των καθηγητών που βρίσκονται στην βάση και ανήκουν σε μία από τις τρεις κατηγορίες Βεβαιώσεις Προϋπηρεσίας Μία πολύ σημαντική λειτουργία της εφαρμογής είναι η έκδοση βεβαιώσεων προϋπηρεσίας των καθηγητών ανά ακαδημαϊκό έτος. Για να εκδοθεί μία βεβαίωση προϋπηρεσίας θα πρέπει να προηγηθεί αναζήτηση και επιλογή του καθηγητή και των ακαδημαϊκών ετών, για τα οποία θέλουμε να εμφανίσουμε να εκδώσουμε βεβαιώσεις προϋπηρεσίας. Μετά την ολοκλήρωση της αναζήτησης εμφανίζεται ένα δυναμικό κείμενο, το οποίο είναι διαφορετικό για τον κάθε καθηγητή και περιέχει πληροφορίες για το πότε και πόσο εργάστηκε ένας εκπαιδευτικός ανά ακαδημαϊκό έτος. Το κείμενο έχει την μορφή των επίσημων εγγράφων που διαχειριζόταν ως τώρα η γραμματεία. Ο κώδικας που εμφανίζει αυτά τα κείμενα είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 83

85 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set st1 [sql "select id, f_name, l_name from teacher where id=$names"] 9 set f2 [sql "select examino, tropop, tropopnum, tropopday, lastofsimvasi, date, bathmida, id_mathima, id from anathesi where (id_teacher=$names) && (akadetos=\"$ho\") && (tropop=1)"] 10 set st3 [sql "select id_teacher, hoursth, hoursask, hourserg, tropop, examino, akadetos, id from mathima where (id_teacher=$names) && (akadetos=\"$ho\") && (tropop=1)"] 11 set d2 [sql "select examino, tropop, tropopnum, tropopday, lastofsimvasi, date, bathmida, id_mathima, id from anathesi where (id_teacher=$names) && (akadetos=\"$ho\") && (tropop=2)"] 12 set d3 [sql "select id_teacher, hoursth, hoursask, hourserg, tropop, examino, akadetos, id from mathima where (id_teacher=$names) && (akadetos=\"$ho\") && (tropop=2)"] 13 puts <html> 14 puts <head> 15 puts <title>βεβαιωση\ ΠΡΟΫΠΗΡΕΣΙΑΣ</title> 16 puts </head> 17 puts <body> 18 puts <table\ align="center"\ width=650> 19 puts <tr> 20 puts <td\ align="right">καβάλα\ \ \ \ \ \</td> 21 puts </tr> 22 puts <tr> 23 puts <td\ align="right">αριθμ.\ Πρωτ.:\ \ \ \ \ </td> 24 puts <tr> 25 puts <td>&nbsp</td> 26 puts </tr> 27 puts <tr> 28 puts <td\ align="center">βεβαιωση\ ΠΡΟΫΠΗΡΕΣΙΑΣ</td> 29 puts </tr> 30 puts <tr> 31 puts <td>&nbsp</td> 32 puts </tr> 33 puts <tr> 34 puts <td\ align="center">βεβαιώνεται,\ από\ τα\ στοιχεία\ που\ τηρούμε\ στο\ αρχείο\ του\ Τμήματος\ Διαχείρισης\ Πληροφοριών\ της\ Σχολής\ Διοίκηση\ &\ Οικονομίας\ του\ Τ.Ε.Ι.\ Καβάλας,\ ότι\ ο\ κ.\ [lindex [lindex $st1 0] 2]\ [lindex [lindex $st1 0] 1],\ απασχολήθηκε\ ως\ εξής:</td> 35 puts </tr> 36 puts <tr> 37 puts <td>&nbsp</td> 38 puts </tr> 39 puts <tr> 40 puts <td>&nbsp</td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="left"><p><b><u>σπουδαστικο\ ΕΤΟΣ\ [lindex [lindex $st3 0] 6]</u></b></p></td> 44 puts </tr> 45 puts <tr> 46 puts <td\ align="left"><p><u>[lindex [lindex $f2 0] 0]\ Εξάμηνο</u></p></td> 47 puts </tr> 48 foreach var $st3 { 49 set f6 [sql "select name, id_semester from course where id=[lindex $var 7]"] 84

86 50 puts <tr> 51 puts <td>[lindex [lindex $f6 0] 0]\ στο\ [lindex [lindex $f6 0] 1],\ Θεωρία\ [lindex $var 1]\ ώρες,\ Ασκήσεις\ [lindex $var 2]\ ώρες,\ [lindex $var 3]\ ώρες\ την\ εβδομάδα. 52 puts </tr> 53 } 54 puts <tr> 55 if {[lindex [lindex $f2 0] 6] == 1} { 56 puts <td\ align="justify">η\ ανάθεση\ έγινε\ με\ την\ αρίθμ.\ [lindex [lindex $f2 0] 8]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας,\ με\ σύμβαση\ ανάθεσης\ εκπαιδευτικού\ έργου\ ως\ επιστιμονικός\ συνεργάτης\ με\ προσόντα\ Επίκουρου\ καθηγητή</td> 57 } elseif {[lindex [lindex $f2 0] 6] == 2} { 58 puts <td\ align="justify">η\ ανάθεση\ έγινε\ με\ την\ αρίθμ.\ [lindex [lindex $f2 0] 8]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας,\ με\ σύμβαση\ ανάθεσης\ εκπαιδευτικού\ έργου\ ως\ εργαστιριακός\ συνεργάτης\ με\ προσόντα\ καθηγητή\ εφαρμογών</td> 59 } elseif {[lindex [lindex $f2 0] 6] == 3} { 60 puts <td\ align="justify">η\ ανάθεση\ έγινε\ με\ την\ αρίθμ.\ [lindex [lindex $f2 0] 8]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας,\ με\ σύμβαση\ εργασίας\ ορισμένου χρόνου\ ως\ επιστιμονικός\ συνεργάτης\ με\ βασικό\ τίτλο\ σπουδών\ και\ διδακτορικό</td> 61 } elseif {[lindex [lindex $f2 0] 6] == 4} { 62 puts <td\ align="justify">η\ ανάθεση\ έγινε\ με\ την\ αρίθμ.\ [lindex [lindex $f2 0] 8]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας,\ με\ σύμβαση\ εργασίας\ ορισμένου χρόνου\ ως\ εργαστιριακός\ συνεργάτης\ με\ βασικό\ τίτλο\ σπουδών\ και\ μεταπτυχιακό</td> 63 } elseif {[lindex [lindex $f2 0] 6] == 5} { 64 puts <td\ align="justify">η\ ανάθεση\ έγινε\ με\ την\ αρίθμ.\ [lindex [lindex $f2 0] 8]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας,\ με\ σύμβαση\ εργασίας\ ορισμένου χρόνου\ ως\ εργαστιριακός\ συνεργάτης\ με\ βασικό\ τίτλο\ σπουδών</td> 65 } 66 puts </tr> 67 puts <tr> 68 puts <td\ align="left"><p><u>[lindex [lindex $d2 0] 0]\ Εξάμηνο</u></p></td> 69 puts </tr> 70 if {[lindex [lindex $d2 0] 1] == 2} { 71 puts <tr> 72 puts <td\ align="justify">με\ την\ αριθμό\ [lindex [lindex $d2 0] 2]/[lindex [lindex $d2 0] 3]\ πράξη\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας\ τροποποήθικε\ η\ ανάθεση\ ως\ εξής:</td> 73 puts </tr> 74 } 75 foreach cac $d3 { 76 set f10 [sql "select name, id_semester from course where id=[lindex $cac 7]"] 77 puts <tr> 78 puts <td>[lindex [lindex $f10 0] 0]\ στο\ [lindex [lindex $f10 0] 1],\ Θεωρία\ [lindex $cac 1]\ ώρες,\ Ασκήσεις\ [lindex $cac 2]\ ώρες,\ [lindex $cac 3]\ ώρες\ την\ εβδομάδα. 79 puts </tr> 80 } 81 puts <tr> 85

87 82 puts <td\ align="left">ο\ κ.\ [lindex [lindex $st1 0] 2]\ δίδαξε\ από\ $apo\ έως\ και\ $eos,\ συνολικά\ $ores\ ώρες. 83 puts </tr> 84 puts <table\ align="center"\ width=650> 85 puts <tr> 86 puts <td\ colspan="2"\ align="justify">η\ βεβαίωση\ αυτή\ χορηγείται\ στον\ ενδιαφερόμενο\ κατόπιν\ αιτήσεως\ του\ για\ κάθε\ νόμιμη\ χρήση.</td> 87 puts </tr> 88 puts <tr> 89 puts <td\ colspan="2">&nbsp</td> 90 puts </tr> 91 puts <tr> 92 puts <td>&nbsp</td> 93 puts <td\ align="right">ο\ Προϊστάμενος\ του\ Τμήματος</td> 94 puts </tr> 95 puts <tr> 96 puts <td\ colspan="2">&nbsp</td> 97 puts </tr> 98 puts <tr> 99 puts <td\ colspan="2">&nbsp</td> 100 puts </tr> 101 puts <tr> 102 puts <td>&nbsp</td> 103 puts <td\ align="right">δρ.\ Χατζής\ Βασίλειος</td> 104 puts </tr> 105 puts <tr> 106 puts <td>&nbsp</td> 107 puts <td\ align="right">επίκοθρος\ Καθηγητής</td> 108 puts </tr> 109 puts </table> 110 puts </body> 111 puts </html> Όπως μπορούμε να δούμε στις γραμμές 9,10, 11 και 12, πραγματοποιείτε μια αναζήτηση δεδομένων από την βάση δεδομένων, θέτοντας κάποιες προϋποθέσεις στις εντολές αναζήτησης με σκοπό να εμφανίζονται μόνο οι πληροφορίες που θέλει ο χρήστης κάθε φορά και που έχουν γνωστοποιηθεί στην εφαρμογή από τη αμέσως προηγούμενη σελίδα με όνομα veveoseis1.tcl. Αν παρατηρήσουμε τους όρους αναζήτησης των εντολών στις γραμμές 9 και 10 που θέτονται με την εντολή WHERE, βλέπουμε ότι γίνεται αναζήτηση με την προϋπόθεση το πεδίο tropop που περιέχεται σε κάθε γραμμή του πίνακα anathesis να έχει την τιμή 1. Με τον ίδιο τρόπο λειτουργούν και οι εντολές αναζήτησης στις γραμμές 11 και 12, στις οποίες όμως γίνεται αναζήτηση με την προϋπόθεση το πεδίο tropop να έχει τιμή 2. Αν η τιμή του πεδίου tropop είναι 1 σημαίνει ότι επιλέγονται όλα τα στοιχεία από μία νέα ανάθεση, ενώ αν έχει την τιμή 2 τότε επιλέγονται όλα τα στοιχεία τα οποία καταχωρήθηκαν έπειτα από τροποποίηση. 86

88 Από την γραμμή 13 αρχίζει το κομμάτι του κώδικα που εμφανίζει το οπτικό κομμάτι της εφαρμογής με την ετικέτα HTML και μέχρι την γραμμή 47 ο κώδικας εμφανίζει ένα κείμενο το οποίο είναι ίδιο για όλους του καθηγητές μια και αποτελεί την εισαγωγή για το δυναμικό κείμενο που θα ακολουθεί. Έτσι από την γραμμή 48 με την εντολή FOREACH αρχίζει το κομμάτι του κώδικα το οποίο εμφανίζει το δυναμικό κείμενο το οποίο αποτελείται από τις πληροφορίες που ανακτηθήκαν από τις εντολές αναζήτησης τω γραμμών 9, 10 και 11. Η εντολή foreach τελειώνει στην γραμμή 53. Από την γραμμή 54 έως και την 65 βλέπουμε την εντολή IF η οποία ελέγχει το περιεχόμενο του πεδίου bathmida και ανάλογα με αυτό εμφανίζει και ένα ελαφρά αλλαγμένο κείμενο κάθε φορά. Στην συνέχεια από την γραμμή 66 έως την γραμμή 74 εμφανίζονται δυναμικά πληροφορίες όπως το εξάμηνο και οι αριθμοί τροποποίησης τω αναθέσεων για το κάθε ακαδημαϊκό έτος. Στην συνέχεια από την γραμμή 75 έως και την 80 βλέπουμε ακόμη μία εντολή FOREACH η οποία αναλαμβάνει να επαναλάβει τις εντολές που περιέχονται μέσα στις αγκύλες της όσες φορές χρειάζεται. Έτσι εμφανίζονται όλα τα στοιχεία της τροποποίησης της ανάθεσης ενός καθηγητή. Και τέλος από την γραμμή 80 και μέχρι το τέλος εμφανίζονται κάποια τελευταία στοιχεία όπως το όνομα του καθηγητή και οι ημερομηνίες έναρξης και λήξη της εργασίας του στο τμήμα Αναζήτηση και εμφάνιση μίας η πολλών αναθέσεων. Εκτός από την εμφάνιση των βεβαιώσεων προϋπηρεσίας για την εξυπηρέτηση των εκπαιδευτικών του τμήματος, η γραμματεία έχει την δυνατότητα να εκτυπώνει και να εμφανίζει αναθέσεις, για τις λειτουργικές ανάγκες του ΤΕΙ Καβάλας. Αυτή η λειτουργία μπορούμε να την βρούμε πατώντας το κουμπί ΕΜΦΑΝΙΣΗ ΑΝΑΘΕΣΗΣ που βρίσκεται στην αρχική σελίδα της εφαρμογής. Για να μπορέσει ο χρήστης να εμφανίσει τις αναθέσεις που θέλει πρέπει πρώτα να τις αναζητήσει. Έτσι πατώντας το κουμπί που προανέφερα εμφανίζεται. 87

89 Σχήμα 6. Μηχανή αναζήτησης εμφάνισης αναθέσεων Ο κώδικας ο οποίος εμφανίζει το παραπάνω σχήμα είναι ο εξής: 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set lo [sql "select akadetos from anathesi group by akadetos"] 9 puts <html> 10 puts <head> 11 puts <title>αναθεσεισ\ ΑΝΑΚΤΗΣΗ</title> 12 puts </head> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <form\ name="a"\ action="anathesis5.tcl"\ method="post"> 15 puts <table\ align="center"\ bgcolor="#d9f2ff"> 16 puts <tr> 17 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 18 puts </tr> 19 puts <tr> 20 puts <td\ colspan="2">&nbsp 21 puts </tr> 22 puts <TR> 23 puts <TD\ align="right">\ Όνομα\ </TD> 24 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 25 puts </TR> 26 puts <TR> 27 puts <TD\ align="right">\ Επίθετο\ </TD> 28 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 29 puts </TR> 30 puts <TR> 88

90 31 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 32 puts </TR> 33 puts </table> 34 puts </form> 35 puts <tr> 36 puts <td><hr></td> 37 puts </tr> 38 puts <form\ name="b"\ action="anathesis7.tcl"\ method="post"> 39 puts <table\ align="center"\ bgcolor="#d9f2ff"> 40 puts <tr> 41 puts <td\ colspan="4"\ align="center"><p><b>εμφανιση\ ΟΛΩΝ</b></p></td> 42 puts </tr> 43 puts <tr> 44 puts <td\ align="right">ακαδημαϊκό\ έτος</td> 45 puts <td><select\ name="d"> 46 foreach e $lo { 47 puts <option\ value="[lindex $e 0]">[lindex $e 0] 48 } 49 puts </select></td> 50 puts <td\ align="right">επιλογή\ αναθέσεων</td> 51 puts <td\ align="left"><select\ name="qo"> 52 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 53 puts <option\ value="2">τροποποιημενεσ\ ΑΝΑΘΕΣΕΙΣ 54 puts </select> 55 puts </tr> 56 puts <tr> 57 puts <td\ align="right">διάρκια\ Σύμβασης</td> 58 puts <td\ align="left"\ colspan="3"><select\ name="k"> 59 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 60 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 61 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 62 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 63 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 64 puts </select></td> 65 puts </tr> 66 puts <tr><td\ align="right">\ Βαθμίδα</td> 67 puts <td\ colspan="3"><select\ name="foko"> 68 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 69 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 70 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 71 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 72 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 73 puts </select> 74 puts </tr> 75 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="εμφανιση"></td> 76 puts </tr> 77 puts </table> 78 puts </form> 79 puts </body> 80 puts </html> 89

91 Η λογική και η τεχνικές που χρησιμοποίησα σε αυτό το κομμάτι του κώδικα έχουν εξηγηθεί σε προγενέστερες αναλύσεις παρόμοιων κομματιών. Η μόνη διαφορά που θεωρώ καλό να επισημάνω είναι ότι εδώ χρησιμοποιούνται δύο διαφορετικές φόρμες όπως μπορούμε να δούμε στις γραμμές 14 και 38 οι οποίες έχουν το δικό τους ξεχωριστό κουμπί που τις υποβάλει για εκτέλεση και η κάθε μία οδηγεί σε διαφορετική σελίδα. Πιο αναλυτικά πατώντας το κουμπί αναζήτηση οδηγούμαστε σε μία σελίδα όπου εμφανίζονται τα στοιχεία της αναζήτησης που κάναμε και καλούμαστε να επιλέξουμε αυτά που θέλουμε και στην συνέχεια μας εμφανίζεται η ανάθεση ενός και μοναδικού καθηγητή. Ενώ πατώντας το κουμπί εμφάνιση μας εμφανίζονται ανά βαθμίδα και διάρκεια σύμβασης όλες οι αναθέσεις για το ακαδημαϊκό έτος που θέλει ο χρήστης. Ο κώδικας που εμφανίζει τα δύο κείμενα είναι γραμμένος περίπου με το ίδιο σκεπτικό. Γι αυτό το λόγο θα αναλύσω τον κώδικα του δεύτερου κειμένου ενώ στο τέλος αυτού του εγχειριδίου θα παρατάξω και τον κώδικα και του πρώτου κειμένου. Έτσι ο κώδικας έχει ως εξής. 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f2 [sql "select gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5, examino, id_teacher, lastofsimvasi, id_mathima, bathmida from anathesi where (akadetos like \"$d\") && (tropop like \"$qo\") && (lastofsimvasi =\"$k\") && (bathmida = \"$foko\") "] 9 foreach miden $f2 { set a [sql "select f_name, l_name, primaryjob, epagelma, id from teacher where (id = [lindex $miden 9]) order by epagelma "] 10 } 11 puts <html> 12 puts <head> 13 puts <title>αναθεσεισ</title> 14 puts </head> 15 puts <body> 16 puts <table\ align="center"\ width=640> 17 puts <tr> 18 puts <td\ align="center">υπηρεσιακο\ ΣΗΜΕΙΩΜΑ</td> 19 puts </tr> 20 puts <tr> 21 puts <td\ align="left">προσ:\ το\ Συμβούλιο\ του\ Τ.Ε.Ι\ Καβάλας</td> 22 puts </tr> 23 puts <tr> 90

92 24 puts <td\ align="left">κοιν:\ το\ Συμβούλιο\ ΣΔΟ</td> 25 puts </tr> 26 puts <tr> 27 puts <td>&nbsp</td> 28 puts </td> 29 puts <tr> 30 if {$qo == 1} { 31 puts <td\ align="left">θεμα:\ Ανάθεση\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικο\ προσωπικο\ για\ το\ ακαδημαϊκό\ Έτος\ $d</td> 32 } elseif {$qo == 2} { 33 puts <td\ align="left">θεμα:\ Τροποποίηση\ Ανάθεσης\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικό\ προσωπικό\ για\ το\ Εαρινό\ Εξάμηνο\ Ακαδημαϊού\ Έτους\ $d</td> 34 } 35 puts </tr> 36 puts <tr> 37 puts <td>&nbsp</td> 38 puts </td> 39 puts <tr> 40 puts <td\ align="justify">έχοντας\ υπόψη\ (α)\ την\ προκήρυξη\ του\ Τμήματος\ για\ την\ πρόσληψη\ ωρομίσθιου\ εκαπιδευικού\ προσωπικού\ για\ ακαδημαϊκό\ έτος\ $d\ και\ τις\ σε\ αυτήν\ αναφερόμενες\ διατάξεις\ και\ νόμους,\ (β)\ τις\ αιτήσεις\ των\ υποψηφίων\ και\ (γ)\ τις\ ανάγκες\ του\ Τμήματος,\ σας\ διαβιβάζουμε\ τις\ προτάσεις\ αναθέσεως\ εκτάκτου\ ΕΠ\ για\ το\ Ακαδημαϊκό\ Έτος\ $d</td> 41 puts </tr> 42 puts <tr> 43 puts <td>&nbsp</td> 44 puts </tr> 45 puts <tr> 46 puts <td>&nbsp</td> 47 puts </tr> 48 puts <tr> 49 if {$qo == 1} { 50 if { $k == 1 } { 51 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου</b></p></td> 52 } elseif { $k == 2} { 53 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια</b></p></td> 54 } elseif { $k == 3} { 55 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 56 } elseif { $k == 4} { 57 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 58 } elseif { $k == 5} { 59 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Αναθέσεις\ Διδακτικού\ Έργου\ μελών\ ΕΠ</b></p></td> 60 } 61 } elseif {$qo == 2} { 62 if { $k == 1 } { 63 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Πρόσληψης\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου</b></p></td> 91

93 64 } elseif { $k == 2} { 65 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Ανάθεσης\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια</b></p></td> 66 } elseif { $k == 3} { 67 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Πρόσληψης\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 68 } elseif { $k == 4} { 69 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Ανάθεσης\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 70 } elseif { $k == 5} { 71 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Αναθέσεων\ Διδακτικού\ Έργου\ μελών\ ΕΠ</b></p></td> 72 } 73 } 74 puts </tr> 75 puts <tr> 76 puts <td\ align="left">η\ Γενική\ Συνέλευση\ του\ Τμήματος,\ αφού\ έλαβε\ υπόψη:</td> 77 puts </tr> 78 puts <tr> 79 puts <td> 80 puts <ol> 81 puts <li>τις\ διατάξεις\ του\ άρθρου\ 19\ του\ Ν.\ 1404/1983,\ όπως\ τροποποιήθηκε\ και\ ισχύει 82 puts <li>τις\ διατάξεις\ του\ Π.Δ.\ 163/2002\ <<Διαδικασία\ και\ προϋποθέσεις\ πρόσληψης\ επιστημονικών\ συνεργατών,\ εργαστηριακών\ συνεργατών,\ εκπαιδευτικών\ ειδικών\ μαθημάτων\ (ΕΕΜ)\ και\ ειδικών\ συνεργατών\ στα\ Τ.Ε.Ι.>> 83 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 0]/[lindex [lindex $f2 0] 4]\ πράξη\ του. 84 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 1]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ Τ.Ε.Ι.\ Καβάλας. 85 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 2]/[lindex [lindex $f2 0] 6]\ προκήρυξη\ του\ Τ.Ε.Ι.\ Καβάλας. 86 puts <li>την\ εισήγηση\ της\ τριμελούς\ εισηγητικής\ επιτροπής\ που\ ορίσθηκε\ με\ την\ πράξη\ [lindex [lindex $f2 0] 3]/[lindex [lindex $f2 0] 7]\ της\ Γενικής\ Συέλευσης\ του\ τμήματος 87 puts </ol> 88 puts </tr> 89 puts <tr> 90 puts <td\ align="center">αποφασίζει\ ομόφωνα</td> 91 puts </tr> 92 puts <tr> 93 if {$qo == 1} { 94 puts <td\ align="justify">εγκρίνει\ τον\ πίνακα\ αξιολόγησης\ των\ υποψηφίων\ όπως\ επισυνάπτεται\ και\ εισηγείται\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ πρόσληψη\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ για\ το\ ακαδημαϊκό\ έτος\ $d,\ όπως\ αναφέρεται\ στη\ συνέχεια.\ Για\ κάθε\ μάθημα,\ προτείνεται\ ο\ υποψήφιος\ με\ την\ καλύτερη\ σειρά\ αξιολόγησης\ ο\ οποίος\ δε\ καλύπτει\ το\ επιτρεπόμενο\ ωράριο\ και\ δύναται\ να\ αναλάβει\ το\ έργο\ την\ ώρα\ και\ ημέρα\ που\ προβλέπεται\ στο\ ωρολόγιο\ πρόγραμμα\ μαθημάτων.</td> 95 } elseif {$qo == 2} { 96 puts <td\ align="justify">εισηγείτε\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ τροποποίηση\ πρόσληψης\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ 92

94 ορισμένου\ χρόνου\ για\ το\ [lindex [lindex $f2 0] 8]\ Εξάμηνο\ ακαδημαϊκού\ έτους\ $d,\ όπως\ αναφέρεται\ στη\ συνέχεια.</td> 97 } 98 puts </tr> 99 puts <tr> 100 puts <td>&nbsp</td> 101 puts </tr> 102 puts <tr> 103 if { $foko == 1} { 104 puts <tr> 105 puts <td\ align="center">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ Επικουρου\ καθηγητή</td> 106 puts </tr> 107 } elseif { $foko == 2} { 108 puts <tr> 109 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ καθηγητή\ εφαρμογών</td> 110 puts </tr> 111 } elseif { $foko == 3} { 112 puts <tr> 113 puts <td\ align="center">πιστημονικοσ\ ΣΥΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και\ διδακτορικό</td> 114 puts </tr> 115 } elseif { $foko == 4} { 116 puts <tr> 117 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και μεταπτυχιακό</td> 118 puts </tr> 119 } elseif { $foko == 5} { 120 puts <tr> 121 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών</td> 122 puts </tr> 123 } 124 puts </tr> 125 puts <tr> 126 puts <td>&nbsp</td> 127 puts </tr> 128 puts <tr> 129 puts <tr> 130 puts <td><hr></td> 131 puts </tr> 132 foreach ena $f2 { 133 set b [sql "select hoursth, hourserg, hoursask, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher = [lindex $ena 9]) && (id = [lindex $ena 11]) group by id"] 134 set c [sql "select name, type from course where id=[lindex $ena 11]"] 135 puts <tr> 136 puts <td\ align="left">[lindex [lindex $a 0] 1]\ [lindex [lindex $a 0] 0]\ ([lindex [lindex $a 0] 2])\ [lindex [lindex $a 0] 3]</td> 137 puts </tr> 138 puts <tr> 139 puts <td\ align="left">[lindex [lindex $c 0] 0]\ [lindex [lindex $c 0] 1]</td> 140 puts </tr> 141 puts <tr> 142 puts <td\ align="left">θεωρία\ [lindex [lindex $b 0] 0]\ ώρες</td> 143 puts </tr> 144 puts <tr> 93

95 145 puts <td\ align="left">ασκήσεις\ πράξης\ [lindex [lindex $b 0] 2]\ ώρες</td> 146 puts </tr> 147 puts <tr> 148 puts <td\ align="left">εργαστήριο\ [lindex [lindex $b 0] 1]\ ώρες</td> 149 puts </tr> 150 puts <tr> 151 puts <td\ align="right">σύνολο\ [lindex [lindex $b 0] 3]\ ώρες\ την\ εβδομάδα</td> 152 puts </tr> 153 puts <tr> 154 puts <td><hr></td> 155 puts </tr> 156 } Ο κώδικας αυτός έχει αναπτυχθεί με την τεχνική που χρησιμοποιήθηκε και για τον κώδικα που εμφανίζει τις βεβαιώσεις προϋπηρεσίας, την οποία ανέλυσα στην ενότητα Έτσι παρατηρούμε στην γραμμή 8 την αναζήτηση πληροφοριών από τις γραμμές του πίνακα anathesi τα οποία συμφωνούν με τις προϋποθέσεις που θέτονται από την σελίδα της αναζήτησης που ανέλυσα παραπάνω και που εκτελούνται με την εντολή where. Στην γραμμή 132 βλέπουμε για ακόμη μία φορά την εντολή foreach η οποία καλεί τα αποτελέσματα της αναζήτησης από την βάση δεδομένων μας, που έγινε στην γραμμή 8 με την εντολή select. Σύμφωνα με κάποια από τα στοιχεία που προέρχονται από την αναζήτηση στη γραμμή 8, εκτελούνται δύο νέες αναζητήσεις 133 και 134 με σκοπό την εύρεση των πληροφοριών που ζήτησε ο χρήστης από τους πίνακες mathima και course αντίστοιχα. Έτσι η foreach επαναλαμβάνει τις εντολές που υπάρχουν μέχρι την γραμμή 156 τόσες φορές όσες είναι και οι αναθέσεις που υπάρχουν στον πίνακα anathesis και συμφωνούν με τις προϋποθέσεις που έθεσε ο χρήστης. Μία λειτουργία που δεν έχουμε ξανασυναντήσει στην εφαρμογή είναι αυτή που συναντούμε στην γραμμή 133. Εδώ βλέπουμε την εντολή SUM με την οποία αθροίζουμε τα περιεχόμενα των πεδίων hoursth, hoursask και hourserg και στην γραμμή 151 εμφανίζονται τα αποτελέσματα της. 94

96 5. ΠΑΡΑΘΕΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΣΤΟ ΣΥΝΟΛΟ ΤΟΥ Σ αυτή την ενότητα μπορεί ο αναγνώστης να βρει τον κώδικα όλης της εφαρμογής με σκοπό να τον μελετήσει και να κατανοήσει την τεχνική και το σκεπτικό με το οποίο ανατήχθηκε αυτή η εφαρμογή. 5.1 index.html 1 <html> 2 <body bgcolor="#d9f2ff" > 3 <table border="0" WIDTH=900 align="center" bgcolor="#d9f2ff"> 4 <tr> 5 <td align="center"><img src="images/imd_logo2.jpg"></td> 6 <td align="center"><img src="images/tei3.gif"></td> 7 <td align="center"><img src="images/teiblue.gif"></td> 8 </tr> 9 <tr> 10 <td colspan="3">&nbsp</td> 11 </tr> 12 <form name="lo" action="cgi-bin/simvoulnum.tcl" method="post"> 95

97 13 <tr> 14 <td align="center" colspan="3"><p><button name="b1" style="width: 300; height: 40" onclick="lo.submit()"><p><b><font size="2">καταχωρηση ΑΡΙΘΜΩΝ ΣΥΜΒΟΥΛΙΩΝ</font></b></p> </button></p><td> 15 </tr> 16 </form> 17 <form name="a" action="cgi-bin/anathesis.tcl" method="post"> 18 <tr> 19 <td align="center" colspan="3"><p><button name="b1" style="width: 300; height: 40" onclick="a.submit()"><p><b><font size="2">καταχωρηση ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 20 </tr> 21 </form> 22 <form name="y" action="cgi-bin/diorthanathesis.tcl" method="post"> 23 <tr> 24 <td align="center" colspan="3"><p><button name="b9" style="width: 300; height: 40" onclick="y.submit()"><p><b><font size="2">διορθωση ΚΑΤΑΧΩΡΗΜΕΝΗΣ ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 25 </tr> 26 </form> 27 <form name="b" action="cgi-bin/anathesis4.tcl" method="post"> 28 <tr> 29 <td align="center" colspan="3"><p><button name="b2" style="width: 300; height: 40" onclick="b.submit()"><p><b><font size="2">εμφανιση ΑΝΑΘΕΣΗΣ</font></b></p> </button></p><td> 30 </tr> 31 </form> 32 <form name="c" action="cgi-bin/aitisi0.tcl" method="post"> 33 <tr> 34 <td align="center" colspan="3"><p><button name="b3" style="width: 300; height: 40" onclick="c.submit()"><p><b><font size="2">υπευθυνη ΔΗΛΩΣΗ ΣΤΟΙΧΕΙΩΝ</font></b></p> </button></p><td> 35 </tr> 36 </form> 37 <form name="c1" action="cgi-bin/dilosi.tcl" method="post"> 38 <tr> 39 <td align="center" colspan="3"><p><button name="b4" style="width: 300; height: 40" onclick="c1.submit()"><p><b><font size="2">εμφανιση ΥΠΕΥΘΥΝΗΣ ΔΗΛΩΣΗΣ </font></b></p> </button></p><td> 40 </tr> 41 </form> 42 <form name="d" action="cgi-bin/katastaseis.tcl" method="post"> 43 <tr> 44 <td align="center" colspan="3"><p><button name="b5" style="width: 300; height: 40" onclick="d.submit()"><p><b><font size="2">καταστασεισ </font></b></p> </button></p><td> 45 </tr> 46 </form> 47 <form name="o" action="cgi-bin/simvaseis00.tcl" method="post"> 48 <tr> 49 <td align="center" colspan="3"><p><button name="b6" style="width: 300; height: 40" onclick="o.submit()"><p><b><font size="2">συμβασεισ</font></b></p> </button></p><td> 50 </tr> 51 </form> 52 <form name="yd" action="cgi-bin/diorthsimvaseis00.tcl" method="post"> 53 <tr> 54 <td align="center" colspan="3"><p><button name="b11" style="width: 300; height: 40" onclick="yd.submit()"><p><b><font size="2">διορθωση ΚΑΤΑΧΩΡΗΜΕΝΗΣ ΣΥΜΒΑΣΗΣ</font></b></p> </button></p><td> 55 </tr> 56 </form> 96

98 57 <form name="o1" action="cgi-bin/emfansimvas.tcl" method="post"> 58 <tr> 59 <td align="center" colspan="3"><p><button name="b7" style="width: 300; height: 40" onclick="b7.submit()"><p><b><font size="2">εμφανιση ΣΥΜΒΑΣΕΩΝ</font></b></p> </button></p><td> 60 </tr> 61 </form> 62 <form name="v" action="cgi-bin/bebeoseis.tcl" method="post"> 63 <tr> 64 <td align="center" colspan="3"><p><button name="b8" style="width: 300; height: 40" onclick="v.submit()"><p><b><font size="2">βεβαιωσεισ ΠΡΟΫΠΗΡΕΣΙΑΣ </font></b></p> </button></p><td> 65 </tr> 66 </form> 67 </table> 68 </body> 69 </html> 5.2. simvoulnum.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <body\ bgcolor="#d9f2ff"> 10 puts <form\ name="f5"\ action="simvoulnum1.tcl"\ method="post">11 11 puts <table\ align="center"\ width=990\ align="center"\ bgcolor="#d9f2ff"> 12 puts <tr> 13 puts <tr> 14 puts <td\ colspan="4">&nbsp</td> 15 puts </tr> 16 puts <tr> 17 puts <td\ colspan="4">&nbsp</td> 18 puts </tr> 19 puts <tr> 20 puts <td\ colspan="4">&nbsp</td> 21 puts </tr> 97

99 22 puts <tr> 23 puts <td\ align="right">ακαδημαϊκό\ Έτος\ (ΕΕΕΕ-ΕΕΕΕ)</td> 24 puts <td><input\ type="text"\ name="akadetos"></td> 25 puts </tr> 26 puts <tr> 27 puts <td\ colspan="4"><hr></td> 28 puts </tr> 29 puts <tr> 30 puts <td\ align="right">αρηθμός\ πράξης\ πρόσληψης\ Γενικής\ Συνέλ.</td> 31 puts <td><input\ type="text"\ name="a1"></td> 32 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 33 puts <td><input\ type="text"\ name="dat1"></td> 34 puts </tr> 35 puts <tr> 36 puts <td\ colspan="4"><hr></td> 37 puts </tr> 38 puts <tr> 39 puts <td\ align="right">αρηθμός\ πράξης\ συμβουλίου\ ΤΕΙ</td> 40 puts <td><input\ type="text"\ name="a2"></td> 41 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 42 puts <td><input\ type="text"\ name="dat2"></td> 43 puts </tr> 44 puts <tr> 45 puts <td\ colspan="4"><hr></td> 46 puts </tr> 47 puts <tr> 48 puts <td\ align="right">αρηθμός\ προκύριξης\ απο\ ΤΕΙ</td> 49 puts <td><input\ type="text"\ name="a3"></td> 50 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 51 puts <td><input\ type="text"\ name="dat3"></td> 52 puts </tr> 53 puts <tr> 54 puts <td\ colspan="4"><hr></td> 55 puts </tr> 56 puts <tr> 57 puts <td\ align="right">αρ.\ απόφ.\ γεν.\ συνέλ.\ ορισμου\ τριμελούς\ εισηγητηκής\ επιτροπής</td> 58 puts <td><input\ type="text"\ name="a4"></td> 59 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 60 puts <td><input\ type="text"\ name="dat4"></td> 61 puts </tr> 62 puts <tr> 63 puts <td\ colspan="4">&nbsp</td> 64 puts </tr> 65 puts <tr> 66 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 67 puts </tr> 68 puts </table> 69 puts </form> 70 puts <script\ language="javascript"\ type="text/javascript"> 71 puts <!-- 72 set f1 [lindex [sql "select * from simvoulnum where (id=1)"] 0] 73 puts f5.akadetos.value="[lindex $f1 1]"\; 74 puts f5.a1.value="[lindex $f1 2]"\; 75 puts f5.dat1.value="[lindex $f1 6]"\; 76 puts f5.a2.value="[lindex $f1 3]"\; 77 puts f5.dat2.value="[lindex $f1 7]"\; 78 puts f5.a3.value="[lindex $f1 4]"\; 79 puts f5.dat3.value="[lindex $f1 8]"\; 98

100 80 puts f5.a4.value="[lindex $f1 5]"\; 81 puts f5.dat4.value="[lindex $f1 9]"\; 82 puts --> 83 puts </script> 84 puts </body> 85 puts </html> 5.3 simvoulnum1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos from mathima where id_teacher=[lindex $z 2] group by akadetos"] 11 } 12 puts <html> 13 puts <head> 14 puts <title>επιλογη\ ΚΑΘΗΓΗΤΗ</title> 15 puts </head> 16 puts <body> 17 puts <form\ action="veveosis2.tcl"\ method="post"> 18 puts <table\ align="center"> 19 puts <tr> 20 puts <td\ alig="right">επιλογη\ ΚΑΘΗΓΗΤΗ</td> 21 puts <td><select\ name="names"> 22 foreach y $ln { 23 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 24 } 25 puts </select> 26 puts </tr> 27 puts <tr> 28 puts <td\ align="right">ακαδημαϊκο\ ΕΤΟΣ</td> 29 puts <td><select\ name="ho"> 30 foreach e $lo { 31 puts <option\ value="[lindex $e 0]">[lindex $e 0] 32 } 33 puts </select></td> 34 puts </tr> 35 puts <tr> 36 puts <td\ align="right">δίδαξε\ από</td> 37 puts <td><input\ type="text"\ name="apo"> 38 puts </tr> 39 puts <tr> 40 puts <td\ align="right">έως\ και</td> 41 puts <td><input\ type="text"\ name="eos"> 42 puts </tr> 43 puts <tr> 44 puts <td\ align="right">σύνολο\ ωρών</td> 45 puts <td><input\ type="text"\ name="ores"> 46 puts </tr> 47 puts <tr> 48 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 99

101 49 puts </tr> 50 puts </table></form></body></html> 5.4 anathesis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="anathesis1.tcl"\ method="post"> 14 puts <table\ align="center"\ align="center"\ bgcolor="#d9f2ff"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="right">\ Όνομα\ </TD> 23 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="right">\ Επίθετο\ </TD> 27 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 30 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table> 33 puts </form> 100

102 34 puts </body> 35 puts </html> 5.5. anathesis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name 9 like \"%$b%\")&&(f_name like \"%$a%\")"] 9 set akad [sql "select akadetos from simvoulnum group by akadetos"] 10 puts <html> 11 puts <head> 12 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 13 puts </head> 14 puts <body\ bgcolor="#d9f2ff"> 15 puts <form\ action="anathesis2.tcl"\ method="post"> 16 puts <table\ align="center"\ bgcolor="#d9f2ff"> 17 puts <tr> 18 puts <td\ align="right">επιλογη\ ΚΑΘΗΓΗΤΗ</td> 19 puts <td><select\ name="names"> 20 foreach y $ln { 21 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 22 } 23 puts </select></td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="right">ακαδημαϊκο\ ΕΤΟΣ\ (EEEE-EEEE)</td> 27 puts <td><select\ name="year"> 28 foreach al $akad { 29 puts <option\ value="[lindex $al 0]">[lindex $al 0] 30 } 31 puts <tr> 32 puts <td\ align="center"\ colspan="2"><input\ type="submit"\ value="επιλογη"> 33 puts </tr> 34 puts </table></form></body></html> 101

103 5.6. anathesis2.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select id, f_name, l_name, mail, phone1, epagelma, primaryjob from teacher where (id=$names) "] 9 set f2 [sql "select basictitlosspoudon, metaptyxiako, didaktoriko from spoudes where (id_teacher=$names) "] 10 set f3 [sql "select ep1, sumyears, sumdayes, summonths from epagempir where (id_teacher=$names) "] 11 set f12 [sql "select id, hoursth, hoursask, hourserg, examino, akadetos, tropop, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher=$names) group by id "] 12 set f20 [sql "select id, name, type, id_semester from course"] 13 puts <html> 14 puts <head> 15 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 16 puts </head> 17 puts <body\ bgcolor="#d9f2ff"> 18 puts <form\ name="f5"\ action="anathesis3.tcl"\ method="post"> 19 puts <table\ border="0"\ align="center"\ width=990\ bgcolor="#d9f2ff"> 20 puts <tr> 21 puts <td> 22 foreach j $f1 { 102

104 23 puts Το\ ID\ του\ καθηγητή\ [lindex $j 1]\ [lindex $j 2]\ που\ του\ καταχορίσαμε\ είναι\ [lindex $j 0]\.\ Η\ ηλεκτρονική\ του\ δηεύθηνση\ είναι\ [lindex $j 3]\ και\ το\ τηλεφωνό\ του\ είναι\ [lindex $j 4].\ Είναι\ [lindex $j 5]\ και\ το\ επάγγελμά\ του\ έιναι\ [lindex $j 6]\ 24 } 25 foreach k $f2 { 26 puts Κατέχει\ [lindex $k 0]\ [lindex $k 1]\ [lindex $k 2] 27 } 28 foreach l $f3 { 29 puts Eργάζεται\ ως\ [lindex $l 0]\ για\ [lindex $l 1]\ χρόνια,\ [lindex $l 2]\ ημερες,\ [lindex $l 3]\ μήνες. 30 } 31 puts </td> 32 puts </tr> 33 puts </table> 34 puts <hr> 35 puts <table\ border="0"\ align="center"\ width=1100> 36 puts <tr> 37 puts <td\ align="right">αρηθμός\ Πρωτοκόλλου</td> 38 puts <td><input\ type="text"\ name="a"></td> 39 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 40 puts <td><input\ type="text"\ name="l"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">εξάμηνο\ Ανάθεσης</td> 44 puts <td><select\ name="g"> 45 puts <option\ value="1">χειμερινο 46 puts <option\ value="1">εαρινο 47 puts </select></td> 48 puts <td\ align="right">ακαδημαϊκό\ Έτος\ (ΕΕΕΕ-ΕΕΕΕ)</td> 49 puts <td><input\ type="text"\ name="n"></td> 50 puts </tr> 51 puts <tr> 52 puts <td\ align="right">πληρομή\ από</td> 53 puts <td><select\ name="o"> 54 puts <option\ value="1">τει 55 puts <option\ value="2">aλλο 56 puts </select></td> 57 puts <td\ align="right">kατάσταση</td> 58 puts <td><select\ name="m"> 59 puts <option\ value="1">πρόην\ Συνεργάτης 60 puts <option\ value="2">ενεργοί 61 puts <option\ value="3">μη\ επιλεχθέντες 62 puts </select></td> 63 puts </tr> 64 puts <tr> 65 puts <td\ align="right">ανανέωση\ /\ Τροποποίηση</td> 66 puts <td><select\ name="qo"> 67 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 68 puts <option\ value="2">τροποποιηση\ ΑΝΑΘΕΣΗΣ 69 puts </select> 70 puts <td\ align="right">έτος</td> 71 puts <td><input\ type="text"\ name="e"></td> 72 puts </tr> 73 puts <tr> 74 puts <td\ colspan="4"><hr></td> 75 puts </tr> 76 puts <tr> 77 puts <td\ colspan="4">&nbsp</td> 78 puts </tr> 103

105 79 puts <tr> 80 puts <td\ align="right">καθηγητής</td> 81 puts <td><select\ name="b"> 82 foreach y $f1 { 83 puts <option\ value="[lindex $y 0]">[lindex $y 0]\ [lindex $y 2]\ [lindex $y 1] 84 } 85 puts </select></td> 86 puts <td\ align="right">μάθημα</td> 87 puts <td><select\ name="c"> 88 foreach po $f20 { 89 puts <option\ value="[lindex $po 0]">[lindex $po 1]\ [lindex $po 2] 90 } 91 puts </select></td> 92 puts </tr> 93 puts <tr> 94 puts <td\ align="right">ώρες\ Θεωρίας</td> 95 puts <td><input\ type="text"\ name="d"> 96 puts <td\ align="right">ώρες\ Εργαστηρίου</td> 97 puts <td><input\ type="text"\ name="d1"> 98 puts </tr> 99 puts <tr> 100 puts <td\ align="right">ώρες\ Ασκήσεων</td> 101 puts <td><input\ type="text"\ name="d2"></td> 102 puts </tr> 103 puts <tr> 104 puts <td\ align="right">κατηγορία</td> 105 puts <td><select\ name="no"> 106 puts <option\ value="1">υποχρεοτικό 107 puts <option\ value="2">υπόχρ.\ επιλογής 108 puts <option\ value="3">προερετ\ επιλογής 109 puts </select></td> 110 puts <td>&nbsp</td> 111 puts <td>&nbsp</td> 112 puts </tr> 113 puts </tr> 114 puts <tr> 115 puts <td\ colspan="4"><hr></td> 116 puts </tr> 117 puts <tr> 118 puts <td\ colspan="4">&nbsp</td> 119 puts </tr> 120 puts <tr> 121 puts <td\ align="right">αρηθμός\ πράξης\ πρόσληψης\ Γενικής\ Συνέλ.</td> 122 puts <td><input\ type="text"\ name="a1"></td> 123 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 124 puts <td><input\ type="text"\ name="dat1"></td> 125 puts </tr> 126 puts <tr> 127 puts <td\ align="right">αρηθμός\ πράξης\ συμβουλίου\ ΤΕΙ</td> 128 puts <td><input\ type="text"\ name="a2"></td> 129 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 130 puts <td><input\ type="text"\ name="dat2"></td> 131 puts </tr> 132 puts <tr> 133 puts <td\ align="right">αρηθμός\ προκύριξης\ απο\ ΤΕΙ</td> 134 puts <td><input\ type="text"\ name="a3"></td> 135 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 136 puts <td><input\ type="text"\ name="dat3"></td> 104

106 137 puts </tr> 138 puts <tr> 139 puts <td\ align="right">αρ.\ απόφ.\ γεν.\ συνέλ.\ ορισμου\ τριμελούς\ εισηγητηκής\ επιτροπής</td> 140 puts <td><input\ type="text"\ name="a4"></td> 141 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 142 puts <td><input\ type="text"\ name="dat4"></td> 143 puts </tr> 144 puts <tr> 145 puts <td\ align="right">διάρκια\ Σύμβασης</td> 146 puts <td\ colspan="3"><select\ name="k"> 147 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 148 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 149 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 150 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 151 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 152 puts </select></td> 153 puts </tr> 154 puts <tr> 155 puts <td\ align="right">\ Βαθμίδα</td> 156 puts <td\ colspan="3"><select\ name="foko"> 157 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 158 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 159 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 160 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 161 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 162 puts </select> 163 puts </tr> 164 puts <tr> 165 puts <td\ colspan="4"><hr></td> 166 puts </tr> 167 puts <tr> 168 puts <td\ colspan="4"\ align="center">συμπληρώστε\ μόνο\ σε\ περίπτωση\ τροποποίησης</td> 169 puts </tr> 170 puts <tr> 171 puts <td\ align="right">αριθμός\ Τροποποίησης</td> 172 puts <td><input\ type="text"\ name="j1"></td> 173 puts <td\ align="right">ημερομηνία\ Τροποποίησης\ (ΕΕΕΕ-ΜΜ- ΗΗ)</td> 174 puts <td><input\ type="text"\ name="j2"></td> 175 puts </tr> 176 puts </tr> 177 puts <tr> 178 puts <td\ colspan="4"><hr></td> 179 puts </tr> 180 puts <tr> 181 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 182 puts </tr> 183 puts </table> 184 puts </form> 185 puts <form\ name="v"\ action="/index.html"\ method="post"> 186 puts <table\ align="center"> 105

107 187 puts <tr> 188 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 189 puts </tr> 190 puts </table> 191 puts <table\ border="2"\ align="center"\ width=1100> 192 puts <tr> 193 puts <td\ align="center">ακαδ.\ ΕΤΟΣ</td> 194 puts <td\ align="center">μαθημα</td> 195 puts <td\ align="center">ωρεσ\ ΘΕΩΡΙΑΣ</td> 196 puts <td\ align="center">ωρεσ\ ΕΡΓΑΣΤΗΡΙΩΝ</td> 197 puts <td\ align="center">ωρεσ\ ΑΣΚΗΣΕΩΝ</td> 198 puts <td\ align="center">συνολο\ ΩΡΩΝ</td> 199 puts <td\ align="center">αναθεση</td> 200 puts </tr> 201 foreach lo $f12 { 202 set g1 [sql "select name from course where id=[lindex $lo 0]"] 203 puts <tr> 204 puts <td\ align="right">[lindex $lo 5]</td> 205 puts <td\ align="right">[lindex [lindex $g1 0] 0]</td> 206 puts <td\ align="right">[lindex $lo 1]</td> 207 puts <td\ align="right">[lindex $lo 3]</td> 208 puts <td\ align="right">[lindex $lo 2]</td> 209 puts <td\ align="right">[lindex $lo 7]</td> 210 if {[lindex $lo 6] == 1 } { 211 puts <td\ align="right">νεα</td> 212 } else { 213 puts <td\ align="right">τροποποιηση</td> 214 } 215 puts </tr> 216 } 217 puts </table> 218 puts </form> 219 puts <script\ language="javascript"\ type="text/javascript"> 220 puts <! set f4 [lindex [sql "select * from anathesi where (id_teacher=$names)"] 0] 222 set f6 [lindex [sql "select katastasi from teacher where (id=$names)"] 0] 223 set f8 [lindex [sql "select * from mathima where (id_teacher=$names)"] 0] 224 set f90 [lindex [sql "select * from simvoulnum where (akadetos like \"$year\")"] 0] 225 puts f5.a.value="[lindex $f4 0]"\; 226 puts f5.l.value="[lindex $f4 7]"\; 227 puts f5.b.value="[lindex $f4 1]"\; 228 puts f5.c.value="[lindex $f8 2]"\; 229 puts f5.d.value="[lindex $f8 6]"\; 230 puts f5.d1.value="[lindex $f8 8]"\; 231 puts f5.d2.value="[lindex $f8 7]"\; 232 puts f5.e.value="[lindex $f4 3]"\; 233 puts f5.n.value="[lindex $f90 1]"\; 234 puts f5.g.value="[lindex $f4 4]"\; 235 puts f5.no.value="[lindex $f8 4]"\; 236 puts f5.o.value="[lindex $f4 6]"\; 237 puts f5.m.value="[lindex $f6 0]"\; 238 puts f5.qo.value="[lindex $f4 18]"\; 239 puts f5.a1.value="[lindex $f90 2]"\; 240 puts f5.dat1.value="[lindex $f90 6]"\; 241 puts f5.a2.value="[lindex $f90 3]"\; 242 puts f5.dat2.value="[lindex $f90 7]"\; 106

108 243 puts f5.a3.value="[lindex $f90 4]"\; 244 puts f5.dat3.value="[lindex $f90 8]"\; 245 puts f5.a4.value="[lindex $f90 5]"\; 246 puts f5.dat4.value="[lindex $f90 9]"\; 247 puts f5.k.value="[lindex $f4 5]"\; 248 puts f5.foko.value-"[lindex $f4 19]"\; 249 puts --> 250 puts </script> 251 puts </body> 252 puts </html> 5.7. anathesis3.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" a sql "insert into anathesi (id, id_teacher, etos, examino, lastofsimvasi, pliromi, date, gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5, akadetos, tropop, tropopnum, tropopday, id_mathima, bathmida) values (\"$a\", \"$b\", \"$e\", \"$g\", \"$k\", \"$o\", \"$l\", \"$a1\", \"$a2\", \"$a3\", \"$a4\", \"$dat1\", \"$dat2\", \"$dat3\", \"$dat4\", \"$n\", \"$qo\", \"$j1\", \"$j2\", \"$c\", \"$foko\")" b sql "update teacher set katastasi=\"$m\" where (id=\"$b\")" c sql "insert into mathima (id_teacher, id, hoursth, hoursask, hourserg, tropop, akadetos, ypoxrepilog) values (\"$b\", \"$c\",\"$d\", \"$d2\", \"$d1\", \"$qo\", \"$n\",\"$no\")" 8 set f1 [sql "select id, f_name, l_name, mail, phone1, epagelma, primaryjob from teacher where (id=$names) "] 9 set f2 [sql "select basictitlosspoudon, metaptyxiako, didaktoriko from spoudes where (id_teacher=$names) "] 10 set f3 [sql "select ep1, sumyears, sumdayes, summonths from epagempir where (id_teacher=$names) "] 11 set f12 [sql "select id, hoursth, hoursask, hourserg, examino, akadetos, tropop, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher=$names) group by id "] 12 set f20 [sql "select id, name, type, id_semester from course"] 13 puts <html> 14 puts <head> 15 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 16 puts </head> 17 puts <body\ bgcolor="#d9f2ff"> 18 puts <form\ name="f5"\ action="anathesis3.tcl"\ method="post"> 19 puts <table\ border="0"\ align="center"\ width=990\ bgcolor="#d9f2ff"> 20 puts <tr> 21 puts <td> 22 foreach j $f1 { 23 puts Το\ ID\ του\ καθηγητή\ [lindex $j 1]\ [lindex $j 2]\ που\ του\ καταχορίσαμε\ είναι\ [lindex $j 0]\.\ Η\ ηλεκτρονική\ του\ δηεύθηνση\ είναι\ [lindex $j 3]\ και\ το\ τηλεφωνό\ του\ είναι\ [lindex $j 4].\ Είναι\ [lindex $j 5]\ και\ το\ επάγγελμά\ του\ έιναι\ [lindex $j 6]\ 107

109 24 } 25 foreach k $f2 { 26 puts Κατέχει\ [lindex $k 0]\ [lindex $k 1]\ [lindex $k 2] 27 } 28 foreach l $f3 { 29 puts Eργάζεται\ ως\ [lindex $l 0]\ για\ [lindex $l 1]\ χρόνια,\ [lindex $l 2]\ ημερες,\ [lindex $l 3]\ μήνες. 30 } 31 puts </td> 32 puts </tr> 33 puts </table> 34 puts <hr> 35 puts <table\ border="0"\ align="center"\ width=1100> 36 puts <tr> 37 puts <td\ align="right">αρηθμός\ Πρωτοκόλλου</td> 38 puts <td><input\ type="text"\ name="a"></td> 39 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 40 puts <td><input\ type="text"\ name="l"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">εξάμηνο\ Ανάθεσης</td> 44 puts <td><select\ name="g"> 45 puts <option\ value="1">χειμερινο 46 puts <option\ value="1">εαρινο 47 puts </select></td> 48 puts <td\ align="right">ακαδημαϊκό\ Έτος\ (ΕΕΕΕ-ΕΕΕΕ)</td> 49 puts <td><input\ type="text"\ name="n"></td> 50 puts </tr> 51 puts <tr> 52 puts <td\ align="right">πληρομή\ από</td> 53 puts <td><select\ name="o"> 54 puts <option\ value="1">τει 55 puts <option\ value="2">aλλο 56 puts </select></td> 57 puts <td\ align="right">kατάσταση</td> 58 puts <td><select\ name="m"> 59 puts <option\ value="1">πρόην\ Συνεργάτης 60 puts <option\ value="2">ενεργοί 61 puts <option\ value="3">μη\ επιλεχθέντες 62 puts </select></td> 63 puts </tr> 64 puts <tr> 65 puts <td\ align="right">ανανέωση\ /\ Τροποποίηση</td> 66 puts <td><select\ name="qo"> 67 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 68 puts <option\ value="2">τροποποιηση\ ΑΝΑΘΕΣΗΣ 69 puts </select> 70 puts <td\ align="right">έτος</td> 71 puts <td><input\ type="text"\ name="e"></td> 72 puts </tr> 73 puts <tr> 74 puts <td\ colspan="4"><hr></td> 75 puts </tr> 76 puts <tr> 77 puts <td\ colspan="4">&nbsp</td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="right">καθηγητής</td> 81 puts <td><select\ name="b"> 82 foreach y $f1 { 108

110 83 puts <option\ value="[lindex $y 0]">[lindex $y 0]\ [lindex $y 2]\ [lindex $y 1] 84 } 85 puts </select></td> 86 puts <td\ align="right">μάθημα</td> 87 puts <td><select\ name="c"> 88 foreach po $f20 { 89 puts <option\ value="[lindex $po 0]">[lindex $po 1]\ [lindex $po 2] 90 } 91 puts </select></td> 92 puts </tr> 93 puts <tr> 94 puts <td\ align="right">ώρες\ Θεωρίας</td> 95 puts <td><input\ type="text"\ name="d"> 96 puts <td\ align="right">ώρες\ Εργαστηρίου</td> 97 puts <td><input\ type="text"\ name="d1"> 98 puts </tr> 99 puts <tr> 100 puts <td\ align="right">ώρες\ Ασκήσεων</td> 101 puts <td><input\ type="text"\ name="d2"></td> 102 puts </tr> 103 puts <tr> 104 puts <td\ align="right">κατηγορία</td> 105 puts <td><select\ name="no"> 106 puts <option\ value="1">υποχρεοτικό 107 puts <option\ value="2">υπόχρ.\ επιλογής 108 puts <option\ value="3">προερετ\ επιλογής 109 puts </select></td> 110 puts <td>&nbsp</td> 111 puts <td>&nbsp</td> 112 puts </tr> 113 puts </tr> 114 puts <tr> 115 puts <td\ colspan="4"><hr></td> 116 puts </tr> 117 puts <tr> 118 puts <td\ colspan="4">&nbsp</td> 119 puts </tr> 120 puts <tr> 121 puts <td\ align="right">αρηθμός\ πράξης\ πρόσληψης\ Γενικής\ Συνέλ.</td> 122 puts <td><input\ type="text"\ name="a1"></td> 123 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 124 puts <td><input\ type="text"\ name="dat1"></td> 125 puts </tr> 126 puts <tr> 127 puts <td\ align="right">αρηθμός\ πράξης\ συμβουλίου\ ΤΕΙ</td> 128 puts <td><input\ type="text"\ name="a2"></td> 129 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 130 puts <td><input\ type="text"\ name="dat2"></td> 131 puts </tr> 132 puts <tr> 133 puts <td\ align="right">αρηθμός\ προκύριξης\ απο\ ΤΕΙ</td> 134 puts <td><input\ type="text"\ name="a3"></td> 135 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 136 puts <td><input\ type="text"\ name="dat3"></td> 137 puts </tr> 138 puts <tr> 139 puts <td\ align="right">αρ.\ απόφ.\ γεν.\ συνέλ.\ ορισμου\ τριμελούς\ εισηγητηκής\ επιτροπής</td> 109

111 140 puts <td><input\ type="text"\ name="a4"></td> 141 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 142 puts <td><input\ type="text"\ name="dat4"></td> 143 puts </tr> 144 puts <tr> 145 puts <td\ align="right">διάρκια\ Σύμβασης</td> 146 puts <td\ colspan="3"><select\ name="k"> 147 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 148 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 149 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 150 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 151 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 152 puts </select></td> 153 puts </tr> 154 puts <tr> 155 puts <td\ align="right">\ Βαθμίδα</td> 156 puts <td\ colspan="3"><select\ name="foko"> 157 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 158 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 159 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 160 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 161 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 162 puts </select> 163 puts </tr> 164 puts <tr> 165 puts <td\ colspan="4"><hr></td> 166 puts </tr> 167 puts <tr> 168 puts <td\ colspan="4"\ align="center">συμπληρώστε\ μόνο\ σε\ περίπτωση\ τροποποίησης</td> 169 puts </tr> 170 puts <tr> 171 puts <td\ align="right">αριθμός\ Τροποποίησης</td> 172 puts <td><input\ type="text"\ name="j1"></td> 173 puts <td\ align="right">ημερομηνία\ Τροποποίησης\ (ΕΕΕΕ-ΜΜ- ΗΗ)</td> 174 puts <td><input\ type="text"\ name="j2"></td> 175 puts </tr> 176 puts </tr> 177 puts <tr> 178 puts <td\ colspan="4"><hr></td> 179 puts </tr> 180 puts <tr> 181 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 182 puts </tr> 183 puts </table> 184 puts </form> 185 puts <form\ name="v"\ action="/index.html"\ method="post"> 186 puts <table\ align="center"> 187 puts <tr> 188 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 189 puts </tr> 110

112 190 puts </table> 191 puts <table\ border="2"\ align="center"\ width=1100> 192 puts <tr> 193 puts <td\ align="center">ακαδ.\ ΕΤΟΣ</td> 194 puts <td\ align="center">μαθημα</td> 195 puts <td\ align="center">ωρεσ\ ΘΕΩΡΙΑΣ</td> 196 puts <td\ align="center">ωρεσ\ ΕΡΓΑΣΤΗΡΙΩΝ</td> 197 puts <td\ align="center">ωρεσ\ ΑΣΚΗΣΕΩΝ</td> 198 puts <td\ align="center">συνολο\ ΩΡΩΝ</td> 199 puts <td\ align="center">αναθεση</td> 200 puts </tr> 201 foreach lo $f12 { 202 set g1 [sql "select name from course where id=[lindex $lo 0]"] 203 puts <tr> 204 puts <td\ align="right">[lindex $lo 5]</td> 205 puts <td\ align="right">[lindex [lindex $g1 0] 0]</td> 206 puts <td\ align="right">[lindex $lo 1]</td> 207 puts <td\ align="right">[lindex $lo 3]</td> 208 puts <td\ align="right">[lindex $lo 2]</td> 209 puts <td\ align="right">[lindex $lo 7]</td> 210 if {[lindex $lo 6] == 1 } { 211 puts <td\ align="right">νεα</td> 212 } else { 213 puts <td\ align="right">τροποποιηση</td> 214 } 215 puts </tr> 216 } 217 puts </table> 218 puts </form> 219 puts <script\ language="javascript"\ type="text/javascript"> 220 puts <! set f4 [lindex [sql "select * from anathesi where (id_teacher=$names)"] 0] 222 set f6 [lindex [sql "select katastasi from teacher where (id=$names)"] 0] 223 set f8 [lindex [sql "select * from mathima where (id_teacher=$names)"] 0] 224 set f90 [lindex [sql "select * from simvoulnum where (akadetos like \"$year\")"] 0] 225 puts f5.a.value="[lindex $f4 0]"\; 226 puts f5.l.value="[lindex $f4 7]"\; 227 puts f5.b.value="[lindex $f4 1]"\; 228 puts f5.c.value="[lindex $f8 2]"\; 229 puts f5.d.value="[lindex $f8 6]"\; 230 puts f5.d1.value="[lindex $f8 8]"\; 231 puts f5.d2.value="[lindex $f8 7]"\; 232 puts f5.e.value="[lindex $f4 3]"\; 233 puts f5.n.value="[lindex $f90 1]"\; 234 puts f5.g.value="[lindex $f4 4]"\; 235 puts f5.no.value="[lindex $f8 4]"\; 236 puts f5.o.value="[lindex $f4 6]"\; 237 puts f5.m.value="[lindex $f6 0]"\; 238 puts f5.qo.value="[lindex $f4 18]"\; 239 puts f5.a1.value="[lindex $f90 2]"\; 240 puts f5.dat1.value="[lindex $f90 6]"\; 241 puts f5.a2.value="[lindex $f90 3]"\; 242 puts f5.dat2.value="[lindex $f90 7]"\; 243 puts f5.a3.value="[lindex $f90 4]"\; 244 puts f5.dat3.value="[lindex $f90 8]"\; 245 puts f5.a4.value="[lindex $f90 5]"\; 246 puts f5.dat4.value="[lindex $f90 9]"\; 111

113 247 puts f5.k.value="[lindex $f4 5]"\; 248 puts f5.foko.value-"[lindex $f4 19]"\; 249 puts --> 250 puts </script> 251 puts </body> 252 puts </html> 5.8. diorthanathesis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="diorthanathesis1.tcl"\ method="post"> 14 puts <table\ align="center"\ align="center"\ bgcolor="#d9f2ff"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="right">\ Όνομα\ </TD> 23 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="right">\ Επίθετο\ </TD> 27 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 112

114 30 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table> 33 puts </form> 34 puts </body> 35 puts </html> 5.9. diorthanathesis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos, examino, tropop from anathesi where id_teacher=[lindex $z 2] group by akadetos"] 11 } 12 foreach j $ln { 13 set ol [sql "select id, name, type from course "] 14 } 15 puts <html> 16 puts <head> 17 puts <title>αναθεσεισ\ ΔΙΟΡΘΩΣΗ</title> 18 puts </head> 19 puts <body\ bgcolor="#d9f2ff"> 20 puts <form\ action="diorthanathesis2.tcl"\ method="post"> 21 puts <table\ border="0"\ align="center"\ bgcolor="#d9f2ff"> 22 puts <tr> 113

115 23 puts <td\ colspan="2">&nbsp</td> 24 puts </tr> 25 puts <tr> 26 puts <td\ colspan="2"\ align="center"><p><b>αναζητηση\ ΛΑΝΘΑΣΜΕΝΗΣ\ ΚΑΤΑΧΩΡΗΣΗΣ\ ΑΠΟ\ ΤΟ\ ΑΡΧΕΙΟ\ ΤΩΝ\ ΑΝΑΘΕΣΕΩΝ</b></p></td> 27 puts </tr> 28 puts <tr> 29 puts <td\ colspan="2">&nbsp</td> 30 puts </tr> 31 puts <tr> 32 puts <td\ align="right">επιλογή\ Καθηγητή</td> 33 puts <td><select\ name="names"> 34 foreach y $ln { 35 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 36 } 37 puts </select> 38 puts </tr> 39 puts <tr> 40 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 41 puts <td><select\ name="a"> 42 foreach e $lo { 43 puts <option\ value="[lindex $e 0]">[lindex $e 0] 44 } 45 puts </select></td> 46 puts </tr> 47 puts <tr> 48 puts <td\ align="right"\ width=50%>εξάμηνο\ για\ το\ οποίο\ καταχωρήθηκε\ η\ ανάθεση</td> 49 puts <td><select\ name="b"> 50 foreach p $lo { 51 puts <option\ value="[lindex $p 1]">[lindex $p 1] 52 } 53 puts </select></td> 54 puts </tr> 55 puts <tr> 56 puts <td\ align="right">νέα\ ή\ Τροποποιημένη\ Ανάθεση</td> 57 puts <td><select\ name="c"> 58 puts <option\ value="1">νεα 59 puts <option\ value="2">τροποποιημενη 60 puts </select></td> 61 puts </tr> 62 puts <tr> 63 puts <td\ align="right">μάθημα</td> 64 puts <td><select\ name="d"> 65 foreach v $ol { 66 puts <option\ value="[lindex $v 0]">[lindex $v 0]\ [lindex $v 1]\ [lindex $v 2] 67 } 68 puts </select></td> 69 puts <tr> 70 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 71 puts </tr> 72 puts </table></form></body></html> 114

116 5.10. diorthanathesis2.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select id, f_name, l_name, mail, phone1, epagelma, primaryjob from teacher where (id=$names) "] 9 set f2 [sql "select basictitlosspoudon, metaptyxiako, didaktoriko from spoudes where (id_teacher=$names) "] 10 set f3 [sql "select ep1, sumyears, sumdayes, summonths from epagempir where (id_teacher=$names) "] 11 set f12 [sql "select id, hoursth, hoursask, hourserg, examino, akadetos, tropop, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher=$names) group by id "] 12 set f20 [sql "select id, name, type, id_semester from course"] 13 puts <html> 14 puts <head> 15 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 16 puts </head> 17 puts <body\ bgcolor="#d9f2ff"> 18 puts <form\ name="f5"\ action="diorthanathesis3.tcl"\ method="post"> 19 puts <table\ border="0"\ align="center"\ width=990\ bgcolor="#d9f2ff"> 20 puts <tr> 21 puts <td> 22 foreach j $f1 { 115

117 23 puts Το\ ID\ του\ καθηγητή\ [lindex $j 1]\ [lindex $j 2]\ που\ του\ καταχορίσαμε\ είναι\ [lindex $j 0]\.\ Η\ ηλεκτρονική\ του\ δηεύθηνση\ είναι\ [lindex $j 3]\ και\ το\ τηλεφωνό\ του\ είναι\ [lindex $j 4].\ Είναι\ [lindex $j 5]\ και\ το\ επάγγελμά\ του\ έιναι\ [lindex $j 6]\ 24 } 25 foreach k $f2 { 26 puts Κατέχει\ [lindex $k 0]\ [lindex $k 1]\ [lindex $k 2] 27 } 28 foreach l $f3 { 29 puts Eργάζεται\ ως\ [lindex $l 0]\ για\ [lindex $l 1]\ χρόνια,\ [lindex $l 2]\ ημερες,\ [lindex $l 3]\ μήνες. 30 } 31 puts </td> 32 puts </tr> 33 puts </table> 34 puts <hr> 35 puts <table\ border="0"\ align="center"\ width=1100> 36 puts <tr> 37 puts <td\ align="right">αρηθμός\ Πρωτοκόλλου</td> 38 puts <td><input\ type="text"\ name="a"></td> 39 puts <td\ align="right">ημερομηνία\ (ΕΕ-ΜΜ-ΗΗ)</td> 40 puts <td><input\ type="text"\ name="l"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">εξάμηνο\ Ανάθεσης</td> 44 puts <td><select\ name="g"> 45 puts <option\ value="1">χειμερινο 46 puts <option\ value="1">εαρινο 47 puts </select></td> 48 puts <td\ align="right">ακαδημαϊκό\ Έτος\ (ΕΕΕΕ-ΕΕΕΕ)</td> 49 puts <td><input\ type="text"\ name="n"></td> 50 puts </tr> 51 puts <tr> 52 puts <td\ align="right">πληρομή\ από</td> 53 puts <td><select\ name="o"> 54 puts <option\ value="1">τει 55 puts <option\ value="2">aλλο 56 puts </select></td> 57 puts <td\ align="right">kατάσταση</td> 58 puts <td><select\ name="m"> 59 puts <option\ value="1">πρόην\ Συνεργάτης 60 puts <option\ value="2">ενεργοί 61 puts <option\ value="3">μη\ επιλεχθέντες 62 puts </select></td> 63 puts </tr> 64 puts <tr> 65 puts <td\ align="right">ανανέωση\ /\ Τροποποίηση</td> 66 puts <td><select\ name="qo"> 67 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 68 puts <option\ value="2">τροποποιηση\ ΑΝΑΘΕΣΗΣ 69 puts </select> 70 puts <td\ align="right">έτος</td> 71 puts <td><input\ type="text"\ name="e"></td> 72 puts </tr> 73 puts <tr> 74 puts <td\ colspan="4"><hr></td> 75 puts </tr> 76 puts <tr> 77 puts <td\ colspan="4">&nbsp</td> 78 puts </tr> 116

118 79 puts <tr> 80 puts <td\ align="right">καθηγητής</td> 81 puts <td><select\ name="b"> 82 foreach y $f1 { 83 puts <option\ value="[lindex $y 0]">[lindex $y 0]\ [lindex $y 2]\ [lindex $y 1] 84 } 85 puts </select></td> 86 puts <td\ align="right">μάθημα</td> 87 puts <td><select\ name="c"> 88 foreach po $f20 { 89 puts <option\ value="[lindex $po 0]">[lindex $po 1]\ [lindex $po 2] 90 } 91 puts </select></td> 92 puts </tr> 93 puts <tr> 94 puts <td\ align="right">ώρες\ Θεωρίας</td> 95 puts <td><input\ type="text"\ name="d"> 96 puts <td\ align="right">ώρες\ Εργαστηρίου</td> 97 puts <td><input\ type="text"\ name="d1"> 98 puts </tr> 99 puts <tr> 100 puts <td\ align="right">ώρες\ Ασκήσεων</td> 101 puts <td><input\ type="text"\ name="d2"></td> 102 puts </tr> 103 puts <tr> 104 puts <td\ align="right">κατηγορία</td> 105 puts <td><select\ name="no"> 106 puts <option\ value="1">υποχρεοτικό 107 puts <option\ value="2">υπόχρ.\ επιλογής 108 puts <option\ value="3">προερετ\ επιλογής 109 puts </select></td> 110 puts <td>&nbsp</td> 111 puts <td>&nbsp</td> 112 puts </tr> 113 puts </tr> 114 puts <tr> 115 puts <td\ colspan="4"><hr></td> 116 puts </tr> 117 puts <tr> 118 puts <td\ colspan="4">&nbsp</td> 119 puts </tr> 120 puts <tr> 121 puts <td\ align="right">αρηθμός\ πράξης\ πρόσληψης\ Γενικής\ Συνέλ.</td> 122 puts <td><input\ type="text"\ name="a1"></td> 123 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 124 puts <td><input\ type="text"\ name="dat1"></td> 125 puts </tr> 126 puts <tr> 127 puts <td\ align="right">αρηθμός\ πράξης\ συμβουλίου\ ΤΕΙ</td> 128 puts <td><input\ type="text"\ name="a2"></td> 129 puts <td\ align="right">ημερομηνία\ πράξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 130 puts <td><input\ type="text"\ name="dat2"></td> 131 puts </tr> 132 puts <tr> 133 puts <td\ align="right">αρηθμός\ προκύριξης\ απο\ ΤΕΙ</td> 134 puts <td><input\ type="text"\ name="a3"></td> 135 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 136 puts <td><input\ type="text"\ name="dat3"></td> 117

119 137 puts </tr> 138 puts <tr> 139 puts <td\ align="right">αρ.\ απόφ.\ γεν.\ συνέλ.\ ορισμου\ τριμελούς\ εισηγητηκής\ επιτροπής</td> 140 puts <td><input\ type="text"\ name="a4"></td> 141 puts <td\ align="right">ημερομηνία\ προκύριξης\ (ΕΕ-ΜΜ-ΗΗ)</td> 142 puts <td><input\ type="text"\ name="dat4"></td> 143 puts </tr> 144 puts <tr> 145 puts <td\ align="right">διάρκια\ Σύμβασης</td> 146 puts <td\ colspan="3"><select\ name="k"> 147 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 148 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 149 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 150 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 151 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 152 puts </select></td> 153 puts </tr> 154 puts <tr> 155 puts <td\ align="right">\ Βαθμίδα</td> 156 puts <td\ colspan="3"><select\ name="foko"> 157 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 158 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 159 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 160 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 161 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 162 puts </select> 163 puts </tr> 164 puts <tr> 165 puts <td\ colspan="4"><hr></td> 166 puts </tr> 167 puts <tr> 168 puts <td\ colspan="4"\ align="center">συμπληρώστε\ μόνο\ σε\ περίπτωση\ τροποποίησης</td> 169 puts </tr> 170 puts <tr> 171 puts <td\ align="right">αριθμός\ Τροποποίησης</td> 172 puts <td><input\ type="text"\ name="j1"></td> 173 puts <td\ align="right">ημερομηνία\ Τροποποίησης\ (ΕΕΕΕ-ΜΜ- ΗΗ)</td> 174 puts <td><input\ type="text"\ name="j2"></td> 175 puts </tr> 176 puts </tr> 177 puts <tr> 178 puts <td\ colspan="4"><hr></td> 179 puts </tr> 180 puts <tr> 181 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="καταχωρηση"></td> 182 puts </tr> 183 puts </table> 184 puts </form> 185 puts <form\ name="v"\ action="/index.html"\ method="post"> 186 puts <table\ align="center"> 118

120 187 puts <tr> 188 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 189 puts </tr> 190 puts </table> 191 puts <table\ border="2"\ align="center"\ width=1100> 192 puts <tr> 193 puts <td\ align="center">ακαδ.\ ΕΤΟΣ</td> 194 puts <td\ align="center">μαθημα</td> 195 puts <td\ align="center">ωρεσ\ ΘΕΩΡΙΑΣ</td> 196 puts <td\ align="center">ωρεσ\ ΕΡΓΑΣΤΗΡΙΩΝ</td> 197 puts <td\ align="center">ωρεσ\ ΑΣΚΗΣΕΩΝ</td> 198 puts <td\ align="center">συνολο\ ΩΡΩΝ</td> 199 puts <td\ align="center">αναθεση</td> 200 puts </tr> 201 foreach lo $f12 { 202 set g1 [sql "select name from course where id=[lindex $lo 0]"] 203 puts <tr> 204 puts <td\ align="right">[lindex $lo 5]</td> 205 puts <td\ align="right">[lindex [lindex $g1 0] 0]</td> 206 puts <td\ align="right">[lindex $lo 1]</td> 207 puts <td\ align="right">[lindex $lo 3]</td> 208 puts <td\ align="right">[lindex $lo 2]</td> 209 puts <td\ align="right">[lindex $lo 7]</td> 210 if {[lindex $lo 6] == 1 } { 211 puts <td\ align="right">νεα</td> 212 } else { 213 puts <td\ align="right">τροποποιηση</td> 214 } 215 puts </tr> 216 } 217 puts </table> 218 puts </form> 219 puts <script\ language="javascript"\ type="text/javascript"> 220 puts <! set f4 [lindex [sql "select * from anathesi where (id_teacher=$names) && (akadetos like \"$a\") && (examino=\"$b\") && (tropop=\"$c\") && (id_mathima=\"$d\") "] 0] 222 set f6 [lindex [sql "select katastasi from teacher where (id=$names)"] 0] 223 set f8 [lindex [sql "select * from mathima where (id_teacher=$names) && (akadetos like \"$a\") && (tropop=\"$c\") && (id=$d) "] 0] 225 puts f5.a.value="[lindex $f4 0]"\; 226 puts f5.l.value="[lindex $f4 7]"\; 227 puts f5.b.value="[lindex $f4 1]"\; 228 puts f5.c.value="[lindex $f8 2]"\; 229 puts f5.d.value="[lindex $f8 6]"\; 230 puts f5.d1.value="[lindex $f8 8]"\; 231 puts f5.d2.value="[lindex $f8 7]"\; 232 puts f5.e.value="[lindex $f4 3]"\; 233 puts f5.n.value="[lindex $f90 1]"\; 234 puts f5.g.value="[lindex $f4 4]"\; 235 puts f5.no.value="[lindex $f8 4]"\; 236 puts f5.o.value="[lindex $f4 6]"\; 237 puts f5.m.value="[lindex $f6 0]"\; 238 puts f5.qo.value="[lindex $f4 18]"\; 239 puts f5.a1.value="[lindex $f90 2]"\; 240 puts f5.dat1.value="[lindex $f90 6]"\; 241 puts f5.a2.value="[lindex $f90 3]"\; 242 puts f5.dat2.value="[lindex $f90 7]"\; 119

121 243 puts f5.a3.value="[lindex $f90 4]"\; 244 puts f5.dat3.value="[lindex $f90 8]"\; 245 puts f5.a4.value="[lindex $f90 5]"\; 246 puts f5.dat4.value="[lindex $f90 9]"\; 247 puts f5.k.value="[lindex $f4 5]"\; 248 puts f5.foko.value-"[lindex $f4 19]"\; 249 puts --> 250 puts </script> 251 puts </body> 252 puts </html> diorthanathesis3.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <body\ bgcolor="#d9f2ff"> 10 puts <form\ name="v"\ action="/index.html"\ method="post"> 11 puts <table\ align="center"> 12 puts <tr> 13 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 14 puts </tr> 15 puts </table> 16 puts </body> 17 puts </html> 18 sql "delete from anathesi where (id_teacher=\"$b\") && (akadetos=\"&n\") && (examino=\"$g\") && (id=\"$a\") && (date=\"$l\") && (tropop=\"$qo\") && (tropopnum=\"$j1\") && (tropopday=\"$j2\") && (name=\"$c\")" 19 sql "delete from mathima where (id_teacher=\"$b\") && (name=\"$c\") && (tropop=\"$qo\") && (akadetos=\"&n\")" 20 puts <html> 21 puts <body> 22 puts <table\ align="center"> 23 puts <tr> 24 puts <td\ align="center"><p><b>η\ ΛΑΝΘΑΣΜΕΝΗ\ ΚΑΤΑΧΩΡΗΣΗ\ ΔΙΑΓΡΑΦΤΗΚΕ</td> 25 puts </tr> 26 puts </table> 27 puts </body> 28 puts </html> anathesis4.tcl 120

122 1#!/usr/local/ActiveTcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set lo [sql "select akadetos from anathesi group by akadetos"] 9 puts <html> 10 puts <head> 11 puts <title>αναθεσεισ\ ΑΝΑΚΤΗΣΗ</title> 12 puts </head> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <form\ name="a"\ action="anathesis5.tcl"\ method="post"> 15 puts <table\ align="center"\ bgcolor="#d9f2ff"> 16 puts <tr> 17 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 18 puts </tr> 19 puts <tr> 20 puts <td\ colspan="2">&nbsp 21 puts </tr> 22 puts <TR> 23 puts <TD\ align="right">\ Όνομα\ </TD> 24 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 25 puts </TR> 26 puts <TR> 27 puts <TD\ align="right">\ Επίθετο\ </TD> 28 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 29 puts </TR> 30 puts <TR> 31 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 32 puts </TR> 33 puts </table> 121

123 34 puts </form> 35 puts <tr> 36 puts <td><hr></td> 37 puts </tr> 38 puts <form\ name="b"\ action="anathesis7.tcl"\ method="post"> 39 puts <table\ align="center"\ bgcolor="#d9f2ff"> 40 puts <tr> 41 puts <td\ colspan="4"\ align="center"><p><b>εμφανιση\ ΟΛΩΝ</b></p></td> 42 puts </tr> 43 puts <tr> 44 puts <td\ align="right">ακαδημαϊκό\ έτος</td> 45 puts <td><select\ name="d"> 46 foreach e $lo { 47 puts <option\ value="[lindex $e 0]">[lindex $e 0] 48 } 49 puts </select></td> 50 puts <td\ align="right">επιλογή\ αναθέσεων</td> 51 puts <td\ align="left"><select\ name="qo"> 52 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 53 puts <option\ value="2">τροποποιημενεσ\ ΑΝΑΘΕΣΕΙΣ 54 puts </select> 55 puts </tr> 56 puts <tr> 57 puts <td\ align="right">διάρκια\ Σύμβασης</td> 58 puts <td\ align="left"\ colspan="3"><select\ name="k"> 59 puts <option\ value="1">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ 60 puts <option\ value="2">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ 61 puts <option\ value="3">συμβαση\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 62 puts <option\ value="4">με\ ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ\ ΜΕ\ ΑΜΟΙΒΗ\ ΑΠΟ\ ΕΝΗΙΣΧΥΣΗ\ ΣΠΟΥΔΩΝ\ ΠΛΗΡΟΦΟΡΙΚΗΣ 63 puts <option\ value="5">αναθεση\ ΔΙΔΑΚΤΙΚΟΥ\ ΕΡΓΟΥ\ ΜΕΛΟΥΣ\ ΕΠ 64 puts </select></td> 65 puts </tr> 66 puts <tr><td\ align="right">\ Βαθμίδα</td> 67 puts <td\ colspan="3"><select\ name="foko"> 68 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 69 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 70 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 71 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 72 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 73 puts </select> 74 puts </tr> 75 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="εμφανιση"></td> 76 puts </tr> 77 puts </table> 78 puts </form> 79 puts </body> 80 puts </html> 122

124 5.13. anathesis5.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos from anathesi where id_teacher=[lindex $z 2] group by akadetos"] 11 } 12 puts <html> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <form\ action="anathesis6.tcl"\ method="post"> 15 puts <table\ align="center"\ bgcolor="#d9f2ff"> 16 puts <tr> 17 puts <td>&nbsp</td> 18 puts </tr> 19 puts <tr> 20 puts <td\ colspan="2"\ align="center"><p><b>επιλεξτε\ ΤΙΣ\ ΣΩΣΤΕΣ\ ΠΑΡΑΜΕΤΡΟΥΣ</b></p></td> 21 puts </tr> 22 puts <tr> 23 puts <td>&nbsp</td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="right">ονοματεπώνυμο\ Καθηγητή</td> 27 puts <td><select\ name="names"> 28 foreach y $ln { 29 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 30 } 31 puts </select></td> 32 puts </tr> 33 puts <tr> 123

125 34 puts <td\ align="right">πρόκειται\ για</td> 35 puts <td\ align="left"><select\ name="b"> 36 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 37 puts <option\ value="2">τροποποιημενεσ\ ΑΝΑΘΕΣΕΙΣ 38 puts </select></td> 39 puts </tr> 40 puts <tr> 41 puts <td\ align="right">aκαδημαϊκό\ Έτος 42 puts <td><select\ name="a"> 43 foreach e $lo { 44 puts <option\ value="[lindex $e 0]">[lindex $e 0] 45 } 46 puts </select></td> 47 puts <tr> 48 puts </tr> 49 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 50 puts </tr> 51 puts </table></form></body></html> anathesis6.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select id, f_name, l_name, epagelma, primaryjob, epagelma from teacher where id=$names"] 9 set f2 [sql "select id, id_teacher, id_mathima, etos, examino, lastofsimvasi, pliromi, date, katastasi, gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5, akadetos, tropop from anathesi where (id_teacher=$names) && (akadetos like \"$a\") && (tropop like \"$b\") group by akadetos"] 10 set f3 [sql "select id, bathmida from simvasi where id_teacher=$names"] 11 set f20 [sql "select id, examino, hoursth, hourserg, hoursask, akadetos, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher=$names) && (akadetos like \"$a\") && (tropop like \"$b\") group by id"] 12 puts <html> 13 puts <head> 14 puts <title>αναθεση</title> 15 puts </head> 16 puts <body\ bgcolor="#d9f2ff"> 17 puts <table\ border="0"\ align="center"\ width=680\ bgcolor="white"> 18 puts <tr> 19 puts <td\ align="center"><p><font\ size="4"><b>υπηρεσιακο\ ΣΗΜΕΙΩΜΑ</b></font></p></td> 20 puts </tr> 21 puts <tr> 22 puts <td>&nbsp</td> 23 puts </tr> 24 puts <tr> 25 puts <td\ align="left"><p><b><font="4">προσ:</font></b>\ το\ Συμβούλιο\ του\ Τ.Ε.Ι.\ Καβάλας<p></td> 26 puts </tr> 124

126 27 puts <tr> 28 puts <td\ align=left"><p><b><font="4">κοιν:</font></b>\ το\ Συμβούλιο\ ΣΔΟ<p></td> 29 puts </tr> 30 puts <tr> 31 puts <td>&nbsp</td> 32 puts </tr> 33 puts <tr> 34 if { $b == 1 } { 35 puts <td\ align="justify"\ bgcolor="#c0c0c0"><p><b><font="4">θεμα:</font></b>\ Ανάθεση\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικό\ προσωπικό\ για\ το<br>ακαδημαϊκό\ Έτος\ $a</p></td> 36 } elseif { $b == 2} { 37 puts <td\ align="justify"\ bgcolor="#c0c0c0"><p><b><font="4">θεμα:</font></b>\ Τροποποίηση\ Ανάθεσης\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικό\ προσωπικό\ για\ το<br>ακαδημαϊκό\ Έτος\ $a</p></td> 38 } 39 puts </tr> 40 puts <tr> 41 puts <td>&nbsp</td> 42 puts </tr> 43 puts <tr> 44 puts <td\ align="justify">έχοντας\ υπόψη\ (α)\ την\ προκήρυξη\ του\ Τμήματος\ για\ την\ πρόσληψη\ ωρομίσθιου\ εκπαιδευτικού\ προσωπικού\ για\ το\ Ακαδημαϊκό\ έτος\ $a\ και\ τις\ σε\ αυτήν<br>αναφερόμενες\ διατάξεις\ και\ νόμους\,\ (β)\ τις\ αιτήσεις\ των\ υποψηφίων\ και\ (γ)\ τις\ ανάγκες\ του\ Τμήματος,\ σας\ διαβιβάζουμε\ τις\ προτάσεις\ αναθέσεως\ διδασκαλίας\ ΕΠ\ για\ το\ Ακαδημαϊκό\ έτος\ $a</td> 45 puts </tr> 46 puts <tr> 47 puts <td>&nbsp</td> 48 puts </tr> 49 puts <tr> 50 if { [lindex [lindex $f2 0] 5] == 1 } { puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου</b></p></td> 51 } elseif {[lindex [lindex $f2 0] 5] == 2} { 52 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια</b></p></td> 53 } elseif {[lindex [lindex $f2 0] 5] == 3} { 54 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 55 } elseif {[lindex [lindex $f2 0] 5] == 4} { 56 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 57 } elseif {[lindex [lindex $f2 0] 5] == 5} { 58 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Αναθέσεις\ Διδακτικού\ Έργου\ μελών\ ΕΠ</b></p></td> 59 } 60 puts <tr/> 61 puts <tr> 62 puts <td>&nbsp</td> 63 puts </tr> 64 puts <tr> 125

127 65 puts <td>η\ Γενική\ Συνέλευση\ του\ Τμήματος,\ αφού\ έλαβε\ υπόψη:</td> 66 puts </tr> 67 puts <tr> 68 puts <td> 69 puts <ol> 70 puts <li>τις\ διατάξεις\ του\ άρθρου\ 19\ του\ Ν.\ 1404/1983,\ όπως\ τροποποιήθηκε\ και\ ισχύει. 71 puts <li>τις\ διατάξεις\ του\ ΠΔ\ 163/2002\ <<Διαδικασία\ και\ προϋποθέσεις\ πρόσληψης\ επιστημονικών\ συνεργατών,\ εργαστηριακών\ συνεργατών,\ εκπαιδευτικών\ ειδικών\ μαθημάτων\ (ΕΕΜ)\ και\ ειδικών\ συνεργατών\ στα\ Τ.Ε.Ι.>> 72 puts <li>την\ αριθμό\ [lindex [lindex $f2 0] 9]/[lindex [lindex $f2 0] 13]\ πράξη\ του 73 puts <li>την\ αριθμό\ [lindex [lindex $f2 0] 10]/[lindex [lindex $f2 0] 14]\ πράξη\ του\ Συμβουλίου\ του\ Τ.Ε.Ι.\ Καβάλας. 74 puts <li>την\ αθιθμό\ [lindex [lindex $f2 0] 11]/[lindex [lindex $f2 0] 15]\ προκήρυξη\ του\ Τ.Ε.Ι.\ Καβάλας 75 puts <li>την\ εισήγηση\ της\ τριμελούς\ εισηγητικής\ επιτροπής\ που\ ορίσθηκε\ με\ την\ πράξη\ [lindex [lindex $f2 0] 12]/[lindex [lindex $f2 0] 16]\ της\ Γενικής\ Συνέλευσης\ του\ τμήματος 76 puts </ol> 77 puts </tr> 78 puts <tr> 79 puts <td\ align="center">αποφασίζει\ ομόφωνα</td> 80 puts </tr> 81 puts <tr> 82 if { $b == 1 } { 83 puts <td\ alig="justify">εγκρίνει\ τον\ πίνακα\ αξιολόγησης\ των\ υποψηφίων\ όπως\ επισυνάπτεται\ και\ εισηγείται\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ πρόσληψη\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ για\ το\ ακαδημαϊκο\ έτος\ $a,\ όπως\ αναφέρεται\ στη\ συνέχεια.\ Για\ κάθε\ μάθημα,\ προτείνεται\ ο\ υποψήφιος\ με\ την\ καλύτερη\ σειρά\ αξιολόγησης\ ο\ οποίος\ δεν\ καλύπτει\ το\ επιτρεπόμενο\ ωράριο\ και\ δύναται\ να\ αναλάβει\ το\ έργο\ την\ ώρα\ και\ την\ ημέρα\ που\ προβλέπεται\ στο\ ωρολόγιο\ πρόγραμμα\ μαθημάτων.</td> 84 } elseif { $b == 2} { 85 puts <td\ align="justify">εισηγείτε\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ τροποποίηση\ πρόσληψης\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ για\ το\ [lindex [lindex $f2 0] 6]\ Εξάμηνο\ ακαδημαϊκού\ έτους\ $a,\ όπως\ αναφέρεται\ στη\ συνέχεια.</td> 86 } 87 puts </tr> 88 puts <tr> 89 puts <td>&nbsp</td> 90 puts </tr> 91 foreach r4 $f3 { 92 if {[lindex $r4 1] == "1"} { 93 puts <tr> 94 puts <td\ align="center">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ Επικουρου\ καθηγητή</td> 95 puts </tr> 96 } elseif {[lindex $r4 1] == "2"} { 97 puts <tr> 98 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ καθηγητή\ εφαρμογών</td> 99 puts </tr> 100 } elseif {[lidex $r4 1] == "3"} { 101 puts <tr> 126

128 102 puts <td\ align="center">πιστημονικοσ\ ΣΥΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και\ διδακτορικό</td> 103 puts </tr> 104 } elseif {[lindex $r4 1] == "4"} { 105 puts <tr> 106 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και μεταπτυχιακό</td> 107 puts </tr> 108 } elseif {[lindex $r4 1] == "5"} { 109 puts <tr> 110 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών</td> 111 puts </tr> 112 } 113 } 114 puts <tr> 115 puts <td\ align="left">[lindex [lindex $f1 0] 5]</td> 116 puts </tr> 117 puts <tr> 118 foreach r6 $f1 { 119 puts <td\ align="left">[lindex $r6 2]\ [lindex $r6 1]\ ([lindex $r6 4]) 120 } 121 puts </tr> 122 puts <tr> 123 foreach r7 $f20 { 124 set f21 [sql "select name, id_semester from course where id=[lindex $r7 0]"] 125 puts <td\ align="left">[lindex [lindex $f21 0] 0]\ στο\ [lindex [lindex $f21 0] 1]ο\ εξάμηνο/</td> 126 puts </tr> 127 puts <tr> 128 puts <td\ align="left">θεωρία\ [lindex $r7 2]\ ώρες</td> 129 puts </tr> 130 puts <tr> 131 puts <td\ align="left">ασκήσεις\ πράξης\ [lindex $r7 4]\ ώρες</td> 132 puts <tr> 133 puts <td\ align="left">εργαστήριο\ [lindex $r7 3]\ ώρες</td> 134 puts </tr> 135 puts <tr> 136 puts <td\ align="right">σύνολο\ [lindex $r7 6]\ ώρες\ την\ εβδομάδα</td> 137 puts </tr> 138 } 139 puts </table> 140 puts </body> 141 puts </html> anthesis7.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f2 [sql "select gen_synel_num, ar_symb_tei, ar_prok_tei, ar_trim_epitr, date2, date3, date4, date5, examino, id_teacher, 127

129 lastofsimvasi, id_mathima, bathmida from anathesi where (akadetos like \"$d\") && (tropop like \"$qo\") && (lastofsimvasi =\"$k\") && (bathmida = \"$foko\") "] foreach miden $f2 { 9 set a [sql "select f_name, l_name, primaryjob, epagelma, id from teacher where (id = [lindex $miden 9]) order by epagelma "] 10 } 11 puts <html> 12 puts <head> 13 puts <title>αναθεσεισ</title> 14 puts </head> 15 puts <body> 16 puts <table\ align="center"\ width=640> 17 puts <tr> 18 puts <td\ align="center">υπηρεσιακο\ ΣΗΜΕΙΩΜΑ</td> 19 puts </tr> 20 puts <tr> 21 puts <td\ align="left">προσ:\ το\ Συμβούλιο\ του\ Τ.Ε.Ι\ Καβάλας</td> 22 puts </tr> 23 puts <tr> 24 puts <td\ align="left">κοιν:\ το\ Συμβούλιο\ ΣΔΟ</td> 25 puts </tr> 26 puts <tr> 27 puts <td>&nbsp</td> 28 puts </td> 29 puts <tr> 30 if {$qo == 1} { 31 puts <td\ align="left">θεμα:\ Ανάθεση\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικο\ προσωπικο\ για\ το\ ακαδημαϊκό\ Έτος\ $d</td> 32 } elseif {$qo == 2} { 33 puts <td\ align="left">θεμα:\ Τροποποίηση\ Ανάθεσης\ εκπαιδευτικού\ έργου\ σε\ ωρομίσθιο\ εκπαιδευτικό\ προσωπικό\ για\ το\ Εαρινό\ Εξάμηνο\ Ακαδημαϊού\ Έτους\ $d</td> 34 } 35 puts </tr> 36 puts <tr> 37 puts <td>&nbsp</td> 38 puts </td> 39 puts <tr> 40 puts <td\ align="justify">έχοντας\ υπόψη\ (α)\ την\ προκήρυξη\ του\ Τμήματος\ για\ την\ πρόσληψη\ ωρομίσθιου\ εκαπιδευικού\ προσωπικού\ για\ ακαδημαϊκό\ έτος\ $d\ και\ τις\ σε\ αυτήν\ αναφερόμενες\ διατάξεις\ και\ νόμους,\ (β)\ τις\ αιτήσεις\ των\ υποψηφίων\ και\ (γ)\ τις\ ανάγκες\ του\ Τμήματος,\ σας\ διαβιβάζουμε\ τις\ προτάσεις\ αναθέσεως\ εκτάκτου\ ΕΠ\ για\ το\ Ακαδημαϊκό\ Έτος\ $d</td> 41 puts </tr> 42 puts <tr> 43 puts <td>&nbsp</td> 44 puts </tr> 45 puts <tr> 46 puts <td>&nbsp</td> 47 puts </tr> 48 puts <tr> 49 if {$qo == 1} { 50 if { $k == 1 } { 51 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου</b></p></td> 128

130 52 } elseif { $k == 2} { 53 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια</b></p></td> 54 } elseif { $k == 3} { 55 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Πρόσληψη\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 56 } elseif { $k == 4} { 57 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Ανάθεση\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 58 } elseif { $k == 5} { 59 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Αναθέσεις\ Διδακτικού\ Έργου\ μελών\ ΕΠ</b></p></td> 60 } 61 } elseif {$qo == 2} { 62 if { $k == 1 } { 63 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Πρόσληψης\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου</b></p></td> 64 } elseif { $k == 2} { 65 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Ανάθεσης\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια</b></p></td> 66 } elseif { $k == 3} { 67 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Πρόσληψης\ Εκπαιδευτικού\ Προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 68 } elseif { $k == 4} { 69 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Ανάθεσης\ Εκπαιδευτικού\ Προσωπικού\ με\ ωριαία\ αντιμισθια\ Με\ αμοιβή\ από\ το\ Έργο\ Ενίσχυση\ Σπουδών\ Πληροφορικής</b></p></td> 70 } elseif { $k == 5} { 71 puts <td\ align="center"\ bgcolor="#c0c0c0"><p><b>θεμα:\ Τροποποίηση\ Αναθέσεων\ Διδακτικού\ Έργου\ μελών\ ΕΠ</b></p></td> 72 } 73 } 74 puts </tr> 75 puts <tr> 76 puts <td\ align="left">η\ Γενική\ Συνέλευση\ του\ Τμήματος,\ αφού\ έλαβε\ υπόψη:</td> 77 puts </tr> 78 puts <tr> 79 puts <td> 80 puts <ol> 81 puts <li>τις\ διατάξεις\ του\ άρθρου\ 19\ του\ Ν.\ 1404/1983,\ όπως\ τροποποιήθηκε\ και\ ισχύει 82 puts <li>τις\ διατάξεις\ του\ Π.Δ.\ 163/2002\ <<Διαδικασία\ και\ προϋποθέσεις\ πρόσληψης\ επιστημονικών\ συνεργατών,\ εργαστηριακών\ συνεργατών,\ εκπαιδευτικών\ ειδικών\ μαθημάτων\ (ΕΕΜ)\ και\ ειδικών\ συνεργατών\ στα\ Τ.Ε.Ι.>> 83 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 0]/[lindex [lindex $f2 0] 4]\ πράξη\ του. 84 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 1]/[lindex [lindex $f2 0] 5]\ πράξη\ του\ Συμβουλίου\ του\ Τ.Ε.Ι.\ Καβάλας. 85 puts <li>την\ αρίθμ.\ [lindex [lindex $f2 0] 2]/[lindex [lindex $f2 0] 6]\ προκήρυξη\ του\ Τ.Ε.Ι.\ Καβάλας. 129

131 86 puts <li>την\ εισήγηση\ της\ τριμελούς\ εισηγητικής\ επιτροπής\ που\ ορίσθηκε\ με\ την\ πράξη\ [lindex [lindex $f2 0] 3]/[lindex [lindex $f2 0] 7]\ της\ Γενικής\ Συέλευσης\ του\ τμήματος 87 puts </ol> 88 puts </tr> 89 puts <tr> 90 puts <td\ align="center">αποφασίζει\ ομόφωνα</td> 91 puts </tr> 92 puts <tr> 93 if {$qo == 1} { 94 puts <td\ align="justify">εγκρίνει\ τον\ πίνακα\ αξιολόγησης\ των\ υποψηφίων\ όπως\ επισυνάπτεται\ και\ εισηγείται\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ πρόσληψη\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ για\ το\ ακαδημαϊκό\ έτος\ $d,\ όπως\ αναφέρεται\ στη\ συνέχεια.\ Για\ κάθε\ μάθημα,\ προτείνεται\ ο\ υποψήφιος\ με\ την\ καλύτερη\ σειρά\ αξιολόγησης\ ο\ οποίος\ δε\ καλύπτει\ το\ επιτρεπόμενο\ ωράριο\ και\ δύναται\ να\ αναλάβει\ το\ έργο\ την\ ώρα\ και\ ημέρα\ που\ προβλέπεται\ στο\ ωρολόγιο\ πρόγραμμα\ μαθημάτων.</td> 95 } elseif {$qo == 2} { 96 puts <td\ align="justify">εισηγείτε\ στο\ Συμβούλιο\ του\ Τ.Ε.Ι.\ την\ τροποποίηση\ πρόσληψης\ εκπαιδευτικού\ προσωπικού\ με\ σύμβαση\ ορισμένου\ χρόνου\ για\ το\ [lindex [lindex $f2 0] 8]\ Εξάμηνο\ ακαδημαϊκού\ έτους\ $d,\ όπως\ αναφέρεται\ στη\ συνέχεια.</td> 97 } 98 puts </tr> 99 puts <tr> 100 puts <td>&nbsp</td> 101 puts </tr> 102 puts <tr> 103 if { $foko == 1} { 104 puts <tr> 105 puts <td\ align="center">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ Επικουρου\ καθηγητή</td> 106 puts </tr> 107 } elseif { $foko == 2} { 108 puts <tr> 109 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ καθηγητή\ εφαρμογών</td> 110 puts </tr> 111 } elseif { $foko == 3} { 112 puts <tr> 113 puts <td\ align="center">πιστημονικοσ\ ΣΥΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και\ διδακτορικό</td> 114 puts </tr> 115 } elseif { $foko == 4} { 116 puts <tr> 117 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και μεταπτυχιακό</td> 118 puts </tr> 119 } elseif { $foko == 5} { 120 puts <tr> 121 puts <td\ align="center">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών</td> 122 puts </tr> 123 } 124 puts </tr> 125 puts <tr> 126 puts <td>&nbsp</td> 127 puts </tr> 128 puts <tr> 130

132 129 puts <tr> 130 puts <td><hr></td> 131 puts </tr> 132 foreach ena $f2 { 133 set b [sql "select hoursth, hourserg, hoursask, sum(hoursth + hoursask + hourserg) from mathima where (id_teacher = [lindex $ena 9]) && (id = [lindex $ena 11]) group by id"] 134 set c [sql "select name, type from course where id=[lindex $ena 11]"] 135 puts <tr> 136 puts <td\ align="left">[lindex [lindex $a 0] 1]\ [lindex [lindex $a 0] 0]\ ([lindex [lindex $a 0] 2])\ [lindex [lindex $a 0] 3]</td> 137 puts </tr> 138 puts <tr> 139 puts <td\ align="left">[lindex [lindex $c 0] 0]\ [lindex [lindex $c 0] 1]</td> 140 puts </tr> 141 puts <tr> 142 puts <td\ align="left">θεωρία\ [lindex [lindex $b 0] 0]\ ώρες</td> 143 puts </tr> 144 puts <tr> 145 puts <td\ align="left">ασκήσεις\ πράξης\ [lindex [lindex $b 0] 2]\ ώρες</td> 146 puts </tr> 147 puts <tr> 148 puts <td\ align="left">εργαστήριο\ [lindex [lindex $b 0] 1]\ ώρες</td> 149 puts </tr> 150 puts <tr> 151 puts <td\ align="right">σύνολο\ [lindex [lindex $b 0] 3]\ ώρες\ την\ εβδομάδα</td> 152 puts </tr> 153 puts <tr> 154 puts <td><hr></td> 155 puts </tr> 156 } aitisi0.tcl 131

133 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>καταχωρηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ ΣΤΟΙΧΕΙΩΝ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="aitisi00.tcl"\ method="post"> 14 puts <table\ align="center"\ bgcolor="#d9f2ff"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="right">\ Όνομα\ </TD> 23 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="right">\ Επίθετο\ </TD> 27 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 30 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table> 33 puts </form> 34 puts </body> 35 puts </html> aitisi00.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 132

134 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 puts <html> 10 puts <head> 11 puts <title>καταχωρηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ ΣΤΟΙΧΕΙΩΝ</title> 12 puts </head> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <form\ action="aitisi.tcl"\ method="post"> 15 puts <table\ align="center"\ bgcolor="#d9f2ff"> 16 puts <tr> 17 puts <td\ align="right">ονοματεπώνυμο\ Καθηγητή</td> 18 puts <td><select\ name="names"> 19 foreach y $ln { 20 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 21 } 22 puts </select> 23 puts </tr> 24 puts <tr> 25 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 26 puts </tr> 27 puts </table></form></body></html> 5.18 aitisi.tcl 133

135 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 Puts <title>καταχωρηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ ΣΤΟΙΧΕΙΩΝ</title> 11 puts </head> 12 puts <head> 13 puts <title>\ ΥΠΕΥΘΥΝΗ\ ΔΗΛΩΣΗ\ </title> 14 puts </head> 15 puts <body\ bgcolor="#d9f2ff"> 16 puts <form\ name="fa"\ action="aitisi1.tcl"\ method="post"> 17 puts <table\ border="0"\ align="center"\ width="1100"\ bgcolor="#d9f2ff"> 18 puts <tr> 19 puts <td\ colspan="4"\ align="center"><p><b>υπευθυνη\ ΔΗΛΩΣΗ\ ΣΤΟΙΧΕΙΩΝ</b></p></td> 20 puts <tr> 21 puts <td\ colspan="4"\ align="center"><p><b><u>γενικά\ Στοιχεία</u></b></p></td> 22 puts </tr> 23 puts <tr> 24 puts <td\ colspan="4">&nbsp</td> 25 puts </tr> 26 puts <tr> 27 puts <td\ align="right">αριθμός\ ID\ που\ σας\ Δόθηκε</td> 28 puts <td\ align="left"><input\ type="text"\ name="id"></td> 29 puts <td\ align="right">επώνυμο</td> 30 puts <td\ align="left"><input\ type="text"\ name="a3"></td> 31 puts </tr> 32 puts <tr> 33 puts <td\ align="right">όνομα</td> 34 puts <td\ align="left"><input\ type="text"\ name="a4"></td> 35 puts <td\ align="right">προληφθήκατε\ ως</td> 36 puts <td\ align="left"><select\ name="s9"> 37 puts <option\ value="1">επισ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 38 puts <option\ value="2">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 39 puts <option\ value="3">επισ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ &\ ΔΙΔΑΚΤΟΡΙΚΟ\ (ΩΡ.\ ΑΝΤΙΜΙΣΘΙΑ) 40 puts <option\ value="4">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ &\ ΜΕΤΑΠΤΥΧΙΑΚΟ\ (ΩΡ.\ ΑΝΤΙΜΙΣΘΙΑ) 41 puts <option\ value="5">εργασ/κοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΤΣ\ (ΩΡΙΑΙΑ\ ΑΝΤΙΜΙΣΘΙΑ) 42 puts </select> 43 puts </tr> 44 puts <tr> 45 puts <td\ align="right">όνομα\ πατέρα</td> 46 puts <td\ align="left"><input\ type="text"\ name="b1"></td> 47 puts <td\ align="right">όνομα\ Μητέρας</td> 48 puts <td\ align="left"><input\ type="text"\ name="b2"></td> 49 puts </tr> 50 puts <tr> 51 puts <td\ align="right">όνομα\ Συζύγου</td> 52 puts <td\ align="left"><input\ type="text"\ name="b4"></td> 134

136 53 puts <td\ align="right">οικογενειακή\ Κατάσταση</td> 54 puts <td\ align="left"><select\ name="c2"> 55 puts <option\ value="1">εγγαμοσ 56 puts <option\ value="2">αγαμοσ 57 puts </select></td> 58 puts </tr> 59 puts <tr> 60 puts <td\ align="right">ημερομηνία\ Γέννησης</td> 61 puts <td\ align="left"><input\ type="text"\ name="b3"></td> 62 puts <td\ align="right">πόλη\ Γέννησης</td> 63 puts <td\ align="left"><input\ type="text"\ name="c1"></td> 64 puts </tr> 65 puts <tr> 66 puts <td\ align="right">νομός\ Γέννησης</td> 67 puts <td\ align="left"><input\ type="text"\ name="c3"></td> 68 puts <td\ align="right">πόλη\ κατοικίας</td> 69 puts <td\ align="left"><input\ type="text"\ name="e1"></td> 70 puts </tr> 71 puts <tr> 72 puts <td\ align="right">διεύθ.\ &\ αριθμός\ Κατοικίας</td> 73 puts <td\ align="left"><input\ type="text"\ name="d3"></td> 74 puts <td\ align="right">περιοχή</td> 75 puts <td\ align="left"><input\ type="text"\ name="d5"></td> 76 puts </tr> 77 puts <tr> 78 puts <td\ align="right">ταχυδρομικός\ Κώδικας</td> 79 puts <td\ align="left"><input\ type="text"\ name="e2"></td> 80 puts <td\ align="right">δ.ο.υ.</td> 81 puts <td\ align="left"><input\ type="text"\ name="c4"></td> 82 puts </tr> 83 puts <tr> 84 puts <td\ align="right">α.φ.μ.</td> 85 puts <td\ align="left"><input\ type="text"\ name="d1"></td> 86 puts <td\ align="right">αρ.\ Δελτίου\ Ταυτότητας</td> 87 puts <td\ align="left"><input\ type="text"\ name="d2"></td> 88 puts </tr> 89 puts <tr> 90 puts <td\ align="right">αστυνομικό\ Τμήμα\ Έκδοσης</td> 91 puts <td\ align="left"><input\ type="text"\ name="go"></td> 92 puts <td\ align="right">φορέας\ απασχόλησης</td> 93 puts <td\ align="left"><select\ name="mon"> 94 puts <option\ value="1">δημοσιοσ\ ΥΠΑΛΛΗΛΟΣ 95 puts <option\ value="2">ιδιωτικοσ\ ΥΠΑΛΛΗΛΟΣ 96 puts <option\ value="3">ελευθεροσ\ ΕΠΑΓΓΕΛΜΑΤΙΑΣ 97 puts <option\ value="4">αλλο 98 puts </select></td> 99 puts </tr> 100 puts <tr> 101 puts <td\ align="right">κύρια\ απασχόληση</td> 102 puts <td\ align="left"><input\ type="text"\ name="f2"></td> 103 puts <td\ align="right">υπάρχει\ άδεια\ απασχόλησης</td> 104 puts <td\ align="left"><select\ name="h3"> 105 puts <option\ value="1">ναι 106 puts <option\ value="2">οχι 107 puts </select></td> 108 puts </tr> 109 puts <tr> 110 puts <td\ align="right">διεύθυνση\ Εργασίας</td> 111 puts <td><input\ type="text"\ name="joba"></td> 112 puts <td\ align="right">τηλέφωνο\ Εργασίας</td> 113 puts <td><input\ type="text"\ name="phone"></td> 135

137 114 puts </tr> 115 puts <tr> 116 puts <td\ colspan="4"><hr></td> 117 puts </tr> 118 puts <tr> 119 puts <td\ colspan="4"\ align="center"><p><b><u>στοιχεία\ Ασφάλισης</u></b></p></td> 120 puts </tr> 121 puts <tr> 122 puts <td\ colspan="4">&nbsp</td> 123 puts </tr> 124 puts <tr> 125 puts <td\ align="right">είδος\ ασφάλισης 126 puts <td\ align="left"><select\ name="f3"> 127 puts <option\ value="1">δημοσιου 128 puts <option\ value="2">ιδιωτικη 129 puts <option\ value="3">ανασφαλιστοσ 130 puts </select></td> 131 puts <td\ align="right">φορέας\ ασφάλισης</td> 132 puts <td\ align="left"><select\ name="ga"> 133 puts <option\ value="1">ικα 134 puts <option\ value="2">τσμεδε 135 puts <option\ value="3">γ.ε.ω.τε 136 puts <option\ value="4">αλλο 137 puts </select></td> 138 puts <tr> 139 puts <td\ align="right">αριθμός\ Μητρώου\ Ασφάλισης</td> 140 puts <td\ align="left"><input\ type="text"\ name="g2"></td> 141 puts <td\ colspan="2">&nbsp 142 puts </tr> 143 puts <tr> 144 puts <td\ colspan="2"\ align="right">επιλέξτε\ αν\ ασφαλιστήκατε\ πριν\ ή\ μετά\ τις\ 1/1/1993</td> 145 puts <td>&nbsp</td> 146 puts <td\ align="left"><select\ name="g1"> 147 puts <option\ value="1">πριν 148 puts <option\ value="2">μετα 149 puts </select></td> 150 puts </tr> 151 puts <tr> 152 puts <td\ colspan="4"><hr></td> 153 puts </tr> 154 puts <tr> 155 puts <td\ colspan="4"\ align="center"><p><b><u>στοιχεία\ Επικοινωνίας</u></b></p></td> 156 puts </tr> 157 puts <tr> 158 puts <td\ colspan="4">&nbsp</td> 159 puts </tr> 160 puts <tr> 161 puts <td\ align="right">τηλέφωνο</td> 162 puts <td\ align="left"><input\ type="text"\ name="e4"></td> 163 puts <td\ align="right">δεύτερο\ Τηλέφωνο</td> 164 puts <td\ align="left"><input\ type="text"\ name="e5"></td> 165 puts </tr> 166 puts <tr> 167 puts <td\ align="right">\ Κινητό</td> 168 puts <td\ align="left"><input\ type="text"\ name="f1"></td> 169 puts <td\ align="right"> </td> 170 puts <td\ align="left"><input\ type="text"\ name="e3"></td> 171 puts </tr> 136

138 172 puts <tr> 173 puts <td\ colspan="4"><hr></td> 174 puts </tr> 175 puts <tr> 176 puts <td\ colspan="4"\ align="center"><p><b><u>λοιπά\ Στοιχεία</u></b></p></td> 177 puts </tr> 178 puts <tr> 179 puts <td\ colspan="4">&nbsp</td> 180 puts </tr> 181 puts <tr> 182 puts <td\ align="right">αριθμός\ Λογαριασμού\ Στην\ Τράπεζα\ Πειραιώς</td> 183 puts <td\ align="left"><input\ type="text"\ name="h4"></td> 184 puts <td\ align="right">ημερομηνία</td> 185 puts <td\ align="left"><input\ type="text"\ name="h5"></td> 186 puts </tr> 187 puts <tr> 188 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 189 puts <td\ align="left"><input\ type="text"\ name="a1"></td> 190 puts <td\ align="right">τμήμα</td> 191 puts <td\ align="left"><input\ type="text"\ name="a2"></td> 192 puts </tr> 193 puts <TR> 194 puts <td\ colspan="4"\ align="center"\ height=40><p><button\ name="b2"><p><b>καταχωρηση</b></p></button></p></td> 195 puts </TR> 196 puts </table> 197 puts </form> 198 puts <script\ language="javascript"\ type="text/javascript"> 199 puts <! set fb [lindex [sql "select * from aitisi where id_teacher=$names"] 0] 201 set fc [lindex [sql "select * from teacher where id=$names"] 0] 202 puts fa.id.value="[lindex $fc 0]"\; 203 puts fa.s9.value="[lindex $fb 10]"\; 204 puts fa.a1.value="[lindex $fb 8]"\; 205 puts fa.a2.value="[lindex $fb 9]"\; 206 puts fa.a3.value="[lindex $fc 2]"\; 207 puts fa.a4.value="[lindex $fc 1]"\; 208 puts fa.b1.value="[lindex $fc 3]"\; 209 puts fa.b2.value="[lindex $fc 4]"\; 210 puts fa.b3.value="[lindex $fc 5]"\; 211 puts fa.b4.value="[lindex $fc 7]"\; 212 puts fa.c1.value="[lindex $fc 8]"\; 213 puts fa.c2.value="[lindex $fc 6]"\; 214 puts fa.c3.value="[lindex $fc 9]"\; 215 puts fa.d1.value="[lindex $fc 11]"\; 216 puts fa.d2.value="[lindex $fc 12]"\; 217 puts fa.d3.value="[lindex $fc 13]"\; 218 puts fa.d5.value="[lindex $fc 14]"\; 219 puts fa.e1.value="[lindex $fc 15]"\; 220 puts fa.e2.value="[lindex $fc 16]"\; 221 puts fa.e3.value="[lindex $fc 17]"\; 222 puts fa.e4.value="[lindex $fc 18]"\; 223 puts fa.e5.value="[lindex $fc 19]"\; 224 puts fa.f1.value="[lindex $fc 20]"\; 225 puts fa.f2.value="[lindex $fc 21]"\; 226 puts fa.f3.value="[lindex $fc 31]"\; 227 puts fa.g1.value="[lindex $fc 32]"\; 228 puts fa.g2.value="[lindex $fc 22]"\; 137

139 229 puts fa.h3.value="[lindex $fc 33]"\; 230 puts fa.c4.value="[lindex $fc 10]"\; 231 puts fa.h4.value="[lindex $fc 24]"\; 232 puts fa.h5.value="[lindex $fc 36]"\; 233 puts FA.go.value="[lindex $fc 30]"\; 234 puts fa.mon.value="[lindex $fc 26]"\; 235 puts fa.ga.value="[lindex $fc 37]"\; 236 puts fa.joba.value="[lindex $fc 28]"\; 237 puts fa.phone.value="[lindex $fc 29]"\; 238 puts --> 239 puts </script> 240 puts </body> 241 puts </html> aitisi1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 set akad [sql "select akadetos from simvoulnum group by akadetos"] 10 puts <html> 11 puts <head> 12 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 13 puts </head> 14 puts <body\ bgcolor="#d9f2ff"> 15 puts <form\ action="anathesis2.tcl"\ method="post"> 16 puts <table\ align="center"\ bgcolor="#d9f2ff"> 17 puts <tr> 18 puts <td\ align="right">επιλογη\ ΚΑΘΗΓΗΤΗ</td> 19 puts <td><select\ name="names"> 20 foreach y $ln { 21puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 22 } 23 puts </select></td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="right">ακαδημαϊκο\ ΕΤΟΣ\ (EEEE-EEEE)</td> 27 puts <td><select\ name="year"> 28 foreach al $akad { 29 puts <option\ value="[lindex $al 0]">[lindex $al 0] 30 } 31 puts <tr> 32 puts <td\ align="center"\ colspan="2"><input\ type="submit"\ value="επιλογη"> 33 puts </tr> 34 puts </table></form></body></html> 138

140 5.20. dilosi.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>εμφανηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="dilosi1.tcl"\ method="post"> 14 puts <table\ align="center"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογhστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TR> 23 puts <TD\ align="right">\ Όνομα\ </TD> 24 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 25 puts </TR> 26 puts <TR> 27 puts <TD\ align="right">\ Επίθετο\ </TD> 28 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 29 puts </TR> 30 puts <TR> 31 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 32 puts </TR> 33 puts </table> 34 puts </form> 35 puts </body></html> 139

141 5.21. dilosi1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos from aitisi where id_teacher=[lindex $z 2] group by akadetos"] 11 } 12 puts <html> 13 puts <head> 14 puts <title>εμφανηση\ ΥΠΕΥΘΥΝΗΣ\ ΔΗΛΩΣΗΣ\ </title> 15 puts </head> 16 puts <body\ bgcolor="#d9f2ff"> 17 puts <form\ action="dilosi2.tcl"\ method="post"> 18 puts <table\ align="center"> 19 puts <tr> 20 puts <td\ align="right">επιλογή\ Καθηγητή</td> 21 puts <td><select\ name="names"> 22 foreach y $ln { 23 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 24 } 25 puts </select> 26 puts </tr> 27 puts <tr> 28 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 29 puts <td><select\ name="a"> 30 foreach e $lo { 31 puts <option\ value="[lindex $e 0]">[lindex $e 0] 32 } 33 puts </tr> 34 puts <tr> 35 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 36 puts </tr> 37 puts </table></form></body></html> 140

142 5.22. dilosi2.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select akadetos, tmima, id_teacher, bathmida from aitisi where (id_teacher=$names) && (akadetos like \"$a\")"] 9 set f2 [sql "select * from teacher where id=$names"] 10 set f3 [sql "select akadetos from aitisi where (akadetos like \"$a\")"] 11 puts <html> 12 puts <head> 13 puts <title>υπευθυνη\ ΔΗΛΩΣΗ\ ΣΤΟΙΧΕΙΩΝ</title> 14 puts </head> 15 puts <body\ bgcolor="#d9f2ff"> 16 puts <table\ align="center"\ WIDTH=640\ bgcolor="white"> 17 puts <tr> 18 puts <td\ colspan="2"\ align="left">τεχνολογικο\ ΕΚΠΑΙΔΕΥΤΙΚΟ\ ΙΔΡΥΜΑ\ ΚΑΒΑΛΑΣ</td> 19 puts </tr> 20 puts <tr> 21 puts <td\ colspan="2"\ align="left">μισθοδοσ\ ΕΚΤΑΚΤΩΝ\ ΕΚΠΑΙΔΕΥΤΙΚΩΝ</td> 22 puts </tr> 23 puts <tr> 24 puts <td\ colspan="2"\>&nbsp</td> 25 puts </tr> 26 puts <tr> 27 puts <td\ colspan="2"\>&nbsp</td> 28 puts </tr> 29 puts <tr> 30 puts <td\ colspan="2"\>&nbsp</td> 31 puts </tr> 32 puts <tr> 33 puts <td\ colspan="2"\ align="center"><p><b>υπευθυνη\ ΔΗΛΩΣΗ\ ΣΤΟΙΧΕΙΩΝ\ ΕΚΤΑΚΤΟΥ\ ΕΚΠΑΙΔΕΥΤΙΚΟΥ\ ΓΙΑ\ ΤΟ\ ΑΚΑΔΗΜΑΪΚΟ\ ΕΤΟΣ\ [lindex $f3 0]</b></p></td> 34 puts </tr> 35 puts <tr> 36 puts <td\ colspan="2"\ align="justify">η\ δήλωση\ συμπληρώνεται\ από\ όλους\ τους\ έκτακτους\ εκπαιδευτικούς,\ ανεξαρτήτως\ αν\ απασχολήθηκαν\ κατά\ το\ παρελθόν.</td> 37 puts </tr> 38 puts <tr> 39 puts <td\ colspan="2"\>&nbsp</td> 40 puts </tr> 41 foreach b $f1 { 42 puts <tr> 43 puts <td\ colspan="2"\ align="left">τμημα\ ΑΠΑΣΧΟΛΗΣΗΣ\ [lindex $b 1]</td> 44 puts </tr> 45 puts <tr> 46 puts <td\ align="left">βαθμιδα:\ </td> 47 if {[lindex $b 3] == "1"} { 48 puts <td\ align="left"\ width=800>επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ Επικουρου\ καθηγητή</td> 141

143 49 } elseif {[lindex $b 3] == "2"} { 50 puts <td\ align="left"\ width=800>εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ προσόντα\ καθηγητή\ εφαρμογών</td> 51 } elseif {[lindex $b 3] == "3"} { 52 puts <td\ align="left"\ width=800>eδιπ\ (ΚΞΓΦΑ)</td> 53 } elseif {[lidex $b 3] == "4"} { 54 puts <td\ align="left"\ width=800>πιστημονικοσ\ ΣΥΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και\ διδακτορικό</td> 55 } elseif {[lindex $b 3] == "5"} { 56 puts <td\ align="left"\ width=800>εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών\ και\ μεταπτυχιακό</td> 57 } elseif {[lindex $b 3] == "6"} { 58 puts <td\ align="left"\ width=800>εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ με\ βασικό\ τίτλο\ σπουδών</td> 59 } elseif {[lindex $b 3] == "7"} { 60 puts <td\ align="left"\ width=800>εδιπ\ (ΚΞΓΦΑ)</td> 61 } 62 puts </tr> 63 } 64 foreach c $f2 { 65 puts <tr> 66 puts <td\ colspan="2"\ align="justify">επονυμο:\ [lindex $c 2]\ ΟΝΟΜΑ:\ [lindex $c 1]\ ΟΝ.ΠΑΤΕΡΑ:\ [lindex $c 3]\ ΟΝ.ΜΗΤΕΡΑΣ:\ [lindex $c 4]\ ΗΜ.ΓΕΝΝΗΣΗΣ:\ [lindex $c 5]\ ΟΝ/ΜΟ.\ ΣΥΖΥΓΟΥ:\ [lindex $c 7]\ ΠΟΛΗ\ ΓΕΝΝΝΗΣΗΣ:\ [lindex $c 8]\ ΟΙΚ.ΚΑΤΑΣΤΑΣΗ:\ [lindex $c 6]\ ΝΟΜΟΣ\ ΓΕΝΝΗΣΗΣ:\ [lindex $c 9]\ ΟΙΚ.ΕΦΟΡΙΑ:\ [lindex $c 10]\ Α.Φ.Μ.:\ [lindex $c 11]\ Α.Δ.Τ.:\ [lindex $c 12]\ Δ/ΝΣΗ\ ΚΑΤΟΙΚΙΑΣ:\ [lindex $c 13]\ [lindex $c 14]\ ΠΕΡΙΟΧΗ:\ [lindex $c 15]\ ΠΟΛΗ:\ [lindex $c 16]\ Τ.Κ.:\ [lindex $c 17]\ \ [lindex $ 18]\ ΤΗΛΕΦΩΝΟ\ 1)\ [lindex $c 19]\ 2)\ [lindex $c 20]\ ΚΙΝΗΤΟ:\ [lindex $c 21]</td> 67 puts </tr> 68 puts <tr> 69 puts <td\ colspan="2"\>&nbsp</td> 70 puts </tr> 71 puts <tr> 72 puts <td\ colspan="2"\ align="justify">για\ ΤΟΥΣ\ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ\ ΜΕ\ ΠΡΟΣΛΗΨΗ:\ Αριθμός\ ΤΕΚΝΩΝ\ που\ συμμετέχουν\ στο\ οικογενιακό\ επίδομα:\ [lindex $c 24]\ *</td> 73 puts </tr> 74 puts <tr> 75 puts <td\ colspan="2"\ align="justify">όσο\ αφορά\ το\ ωρομίσθιο\ προσωπικό\ που\ κατέχει\ τα\ προσόντα\ της\ βαθμίδας\ του\ επίκουρου\ καθηγητή\ ή\ του\ καθηγητή\ εφαρμογών\ και\ εφόσον\ σεν\ λαμβάνει\ οικογενιακό\ επίδομα\ από\ άλλο\ φορέα,\ πιστοποιητικό\ της\ οικογενιακής\ του\ κατάστασης\ και\ εφόσον\ τα\ τέκνα\ έχουν\ συμπληρώσει\ το\ 18ο\ έτος\ της\ ηλικίας\ τους\ βεβαίωση\ σπουδών\ τους,\ καθώς\ και\ συμπληρωμένη\ υπεύθυνη\ δήλωση\ του\ Ν.\ 1599/1986,\ στην\ οποία\ να\ βεβαιώνει\ οτι\ δεν\ λαμβάνει\ οικογενειακό\ επίδομα\ από\ κανένα\ φορέα\ Δ.Δ.\ ή\ Ι.Δ.\ και\ επιθυμώ\ να\ το\ λάβω\ απο\ το\ τμήμα\ διαχέρησης\ πληροφοριών\ του\ ΤΕΙ\ Καβάλας\ στο\ οποίο\ έχω\ σύμβαση\ εργασίας\ για\ το\ ακαδημαϊκο\ έτος\ [lindex $f3 0].\ Για\ τους\ εκπαιδευτικούς\ αυτής\ της\ κατηγορίας\ θεωρείτε\ αυτονόητο\ ότι\ το\ επίδομα\ θα\ το\ λάβουν\ από\ ένα\ τμήμα\ στο\ οποίο\ διδάσκουν\ ακόμη\ και\ αν\ έχουν\ και\ αν\ έχουν\ πρόσληψη\ σε\ δυο\ ή\ περισότερα\ τμήματα.</td> 76 puts </tr> 77 puts <tr> 78 puts <td\ colspan="2"\>&nbsp</td> 79 puts </tr> 142

144 80 puts <tr> 81 puts <td\ colspan="2"\ align="justify">κυρια\ ΑΠΑΣΧΟΛΗΣΗ\ (ΣΥΓΚΕΚΡΙΜΕΝΑ):\ [lindex $c 22]\ ΕΙΔΟΣ\ ΑΣΦΑΛΙΣΗΣ:\ ΔΗΜΟΣΙΟΥ:\ [lindex $c 34]\ Εχει\ ασφαλιστεί\ για\ πρώτη\ φορά\ [lindex $c 35]\ την\ 1/1/1993\ στο\ [lindex $c 44]\ με\ αρηθμό\ μητρώου\ [lindex $c 36]\ [lindex $c 37]\ [lindex $c 38]\ [lindex $c 39]</td> 82 puts </tr> 83 puts <tr> 84 puts <td\ colspan="2"\ align="justify">δημοσιοι\ ΥΠΑΛΛΗΛΟΙ:\ άδεια\ από\ την\ υπηρεσία\ σας\ για\ απασχόληση\ στο\ ΤΕΙ\ Καβάλας\ [lindex $c 40]</td> 85 puts </tr> 86 puts <tr> 87 puts <td\ colspan="2"\ align="justify">αριθμοσ\ ΛΟΓ\ΣΜΟΥ\ ΣΤΗΝ\ ΤΡΑΠΕΖΑ\ ΠΕΙΡΕΩΣ:\ [lindex $c 25]</td> 88 puts </tr> 89 puts <tr> 90 puts <td\ colspan="2"\ align="justify">δηλώνω\ υπεύθηνα\ την\ ακρίβεια\ των\ παραπάνω\ στοιχείων\ και\ ότι\ σε\ περίπτωση\ οποιασδήποτε\ αλλαγής\ κατά\ τη\ διάρκεια\ της\ απασχόλησης\ μου\ θα\ προσκομίσω\ τα\ νέα\ στοιχεία\ αμέσως\ στο\ Τμήμα\ Μισθοδοσίας\ Εκτάκτων\ του\ ΤΕΙ\ ΚΑΒΑΛΑΣ</td> 91 puts </tr> 92 puts <tr> 93 puts <td\ colspan="2"\ align="right">ο/η\ ΕΚΠΑΙΔΕΥΤΙΚΟΣ</td> 94 puts </tr> 95 puts <tr> 96 puts <td\ colspan="2"\>&nbsp</td> 97 puts </tr> 98 puts <tr> 99 puts <td\ colspan="2"\>&nbsp</td> 100 puts </tr> 101 puts <tr> 102 puts <td>καβάλα</td> 103 puts <td\ align="right">yπογραφή</td> 104 puts </tr> 105 puts <tr> 106 puts <td\ colspan="2"\>&nbsp</td> 107 puts </tr> 108 puts <tr> 109 puts <td\ colspan="2"\>&nbsp</td> 110 puts </tr> 111 puts <tr> 112 puts <td\ colspan="2"\>&nbsp</td> 113 puts </tr> 114 puts <tr> 115 puts <td\ colspan="2"\>&nbsp</td> 116 puts </tr> 117 } 118 puts </table> 119 puts </body></html> 143

145 5.23. katastaseis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>καταστασεισ\ ΚΑΘΗΓΗΤΩΝ</title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="katastaseis1.tcl"\ method="post"> 14 puts <table\ align="center"> 15 puts <tr> 16 puts <td>&nbsp</td> 17 puts </tr> 18 puts <tr> 19 puts <td>&nbsp</td> 20 puts </tr> 21 puts <tr> 22 puts <td>&nbsp</td> 23 puts </tr> 24 puts <tr> 25 puts <td><input\ type="radio"\ name="a"\ value="1">πρώην\ Συνεργάτες</td> 26 puts <td><input\ type="radio"\ name="a"\ value="2">ενεργοί</td> 27 puts <td><input\ type="radio"\ name="a"\ value="3">μη\ επιλεχθέντες</td> 28 puts <td><input\ type="radio"\ name="a"\ value="4">εμφάνιση\ όλων</td> 28 puts </tr> 29 puts <tr> 30 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ value="εμφανιση"></td> 31 puts </tr> 32 puts </table> 144

146 33 puts </form> 34 puts <form\ name="v"\ action="/index.html"\ method="post"> 35 puts <table\ align="center"> 36 puts <tr> 37 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΙΚΗ\ ΣΕΛΙΔΑ"></td> 38 puts </tr> 39 puts </table> 40 puts </form> 41 puts </body> 42 puts </html> katastaseis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=1"] 9 set f2 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=2"] 10 set f3 [sql "select id, f_name, l_name, mail, phone1, phone2, mobilephone, primaryjob from teacher where katastasi=3"] 11 foreach ro $f2 { 12 set roo [sql "select id from mathima where id_teacher=[lindex $ro 0]"] 13 } 14 if {$a == 1} { 15 puts <html> 16 puts <head> 17 foreach j $f1 { 18 puts <table\ border="1"\ align="center"\ width=1000> 19 puts <tr> 20 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΠΡΟΗΝ\ ΣΥΝΕΡΓΑΤΩΝ)</td> 21 puts <td\ align="center"\ width=100>σπίτι</td> 22 puts <td\ align="center"\ width=100>εργασία</td> 23 puts <td\ align="center"\ width=100>κινητό</td> 24 puts </tr> 25 puts <tr> 26 puts <td\ align="left">a.m:\ ([lindex $j 0]),\ [lindex $j 2]\ [lindex $j 1]</td> 27 puts <td>[lindex $j 4]</td> 28 puts <td>[lindex $j 5]</td> 29 puts <td>[lindex $j 6]</td> 30 puts </tr> 31 puts <tr> 32 puts <td\ align="left">[lindex $j 7]\ </td> 33 puts <td>&nbsp</td> 34 puts <td>&nbsp</td> 35 puts <td>&nbsp</td> 36 puts </tr> 37 puts <tr> 38 puts <td\ align="left">[lindex $j 3]\ </td> 145

147 39 puts <td>&nbsp</td> 40 puts <td>&nbsp</td> 41 puts <td>&nbsp</td> 42 puts </tr> 43 puts </table> 44 } 45 puts </body> 46 puts </html> 47 } elseif {$a == 2} { 48 puts <html> 49 puts <head> 50 puts <title>κατασταση\ ΕΝΕΡΓΩΝ\ ΣΥΝΕΡΓΑΤΩΝ</title> 51 puts </head> 52 puts <body> 53 foreach k $f2 { 54 puts <table\ border="1"\ align="center"\ width=1000> 55 puts <tr> 56 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΕΝΕΡΓΟΙ)</td> 57 puts <td\ align="center"\ width=100>σπίτι</td> 58 puts <td\ align="center"\ width=100>εργασία</td> 59 puts <td\ align="center"\ width=100>κινητό</td> 60 puts </tr> 61 puts <tr> 62 puts <td\ align="left">a.m:\ ([lindex $k 0]),\ [lindex $k 2]\ [lindex $k 1]</td> 63 puts <td>[lindex $k 4]</td> 64 puts <td>[lindex $k 5]</td> 65 puts <td>[lindex $k 6]</td> 66 puts </tr> 67 puts <tr> 68 puts <td\ align="left">[lindex $k 7]\ </td> 69 puts <td>&nbsp</td> 70 puts <td>&nbsp</td> 71 puts <td>&nbsp</td> 72 puts </tr> 73 puts <tr> 74 puts <td\ align="left">[lindex $k 3]\ </td> 75 puts <td>&nbsp</td> 76 puts <td>&nbsp</td> 77 puts <td>&nbsp</td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="left">[lindex [lindex $er 0] 0]</td> 81 puts <td>&nbsp</td> 82 puts <td>&nbsp</td> 83 puts <td>&nbsp</td> 84 puts </tr> 85 foreach rao $roo { 86 set or [sql "select name, type from course where id=[lindex $rao 0]"] 87 puts <tr> 88 puts <td\ align="left">[lindex $or 0]</td> 89 puts <td>&nbsp</td> 90 puts <td>&nbsp</td> 91 puts <td>&nbsp</td> 92 puts </tr> 93 } 94 puts </table> 95 } 96 puts </body> 97 puts </html> 146

148 98 } elseif {$a == 3} { 99 foreach l $f3 { 100 puts <table\ border="1"\ align="center"\ width=1000> 101 puts <tr> 102 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΜΗ\ ΕΠΙΛΕΧΘΕΝΤΩΝ)</td> 103 puts <td\ align="center"\ width=100>σπίτι</td> 104 puts <td\ align="center"\ width=100>εργασία</td> 105 puts <td\ align="center"\ width=100>κινητό</td> 106 puts </tr> 107 puts <tr> 108 puts <td\ align="left">a.m:\ ([lindex $l 0]),\ [lindex $l 2]\ [lindex $l 1]</td> 109 puts <td>[lindex $l 4]</td> 110 puts <td>[lindex $l 5]</td> 111 puts <td>[lindex $l 6]</td> 112 puts </tr> 113 puts <tr> 114 puts <td\ align="left">[lindex $l 7]\ </td> 115 puts <td>&nbsp</td> 116 puts <td>&nbsp</td> 117 puts <td>&nbsp</td> 118 puts </tr> 119 puts <tr> 120 puts <td\ align="left">[lindex $l 3]\ </td> 121 puts <td>&nbsp</td> 122 puts <td>&nbsp</td> 123 puts <td>&nbsp</td> 124 puts </tr> 125 puts </table> 126 } 127 puts </body> 128 puts </html> 129 } elseif {$a == 4} { 130 puts <html> 131 puts <head> 132 puts <title>καταστασεισ\ ΣΥΝΕΡΓΑΤΩΝ</title> 133 puts </head> 134 puts <body> 135 foreach k $f2 { 136 puts <table\ border="1"\ align="center"\ width=1000> 137 puts <tr> 138 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΕΝΕΡΓΟΙ)</td> 139 puts <td\ align="center"\ width=100>σπίτι</td> 130 puts <td\ align="center"\ width=100>εργασία</td> 141 puts <td\ align="center"\ width=100>κινητό</td> 142 puts </tr> 143 puts <tr> 144 puts <td\ align="left">a.m:\ ([lindex $k 0]),\ [lindex $k 2]\ [lindex $k 1]</td> 145 puts <td>[lindex $k 4]</td> 146 puts <td>[lindex $k 5]</td> 147 puts <td>[lindex $k 6]</td> 148 puts </tr> 149 puts <tr> 150 puts <td\ align="left">[lindex $k 7]\ </td> 151 puts <td>&nbsp</td> 152 puts <td>&nbsp</td> 153 puts <td>&nbsp</td> 154 puts </tr> 155 puts <tr> 147

149 156 puts <td\ align="left">[lindex $k 3]\ </td> 157 puts <td>&nbsp</td> 158 puts <td>&nbsp</td> 159 puts <td>&nbsp</td> 160 puts </tr> 161 foreach ra $roo { 162 set er [sql "select name, type from course where id=[lindex $ra 0]"] 163 puts <tr> 164 puts <td\ align="left">[lindex $er 0]</td> 165 puts <td>&nbsp</td> 166 puts <td>&nbsp</td> 167 puts <td>&nbsp</td> 168 puts </tr> 169 } 170 puts </table> 171 } 172 foreach j $f1 { 173 puts <table\ border="1"\ align="center"\ width=1000> 174 puts <tr> 175 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΠΡΟΗΝ\ ΣΥΝΕΡΓΑΤΩΝ)</td> 176 puts <td\ align="center"\ width=100>σπίτι</td> 177 puts <td\ align="center"\ width=100>εργασία</td> 178 puts <td\ align="center"\ width=100>κινητό</td> 179 puts </tr> 180 puts <tr> 181 puts <td\ align="left">a.m:\ ([lindex $j 0]),\ [lindex $j 2]\ [lindex $j 1]</td> 182 puts <td>[lindex $j 4]</td> 183 puts <td>[lindex $j 5]</td> 184 puts <td>[lindex $j 6]</td> 185 puts </tr> 186 puts <tr> 187 puts <td\ align="left">[lindex $j 7]\ </td> 188 puts <td>&nbsp</td> 189 puts <td>&nbsp</td> 190 puts <td>&nbsp</td> 191 puts </tr> 192 puts <tr> 193 puts <td\ align="left">[lindex $j 3]\ </td> 194 puts <td>&nbsp</td> 195 puts <td>&nbsp</td> 196 puts <td>&nbsp</td> 197 puts </tr> 198 puts </table> 199 } 200 foreach l $f3 { 201 puts <table\ border="1"\ align="center"\ width=1000> 202 puts <tr> 203 puts <td\ align="center"\ width=700>ονοματεπωνυμο\ (ΜΗ\ ΕΠΙΛΕΧΘΕΝΤΩΝ)</td> 204 puts <td\ align="center"\ width=100>σπίτι</td> 205 puts <td\ align="center"\ width=100>εργασία</td> 206 puts <td\ align="center"\ width=100>κινητό</td> 207 puts </tr> 208 puts <tr> 209 puts <td\ align="left">a.m:\ ([lindex $l 0]),\ [lindex $l 2]\ [lindex $l 1]</td> 210 puts <td>[lindex $l 4]</td> 211 puts <td>[lindex $l 5]</td> 148

150 212 puts <td>[lindex $l 6]</td> 213 puts </tr> 214 puts <tr> 215 puts <td\ align="left">[lindex $l 7]\ </td> 216 puts <td>&nbsp</td> 217 puts <td>&nbsp</td> 218 puts <td>&nbsp</td> 219 puts </tr> 220 puts <tr> 221 puts <td\ align="left">[lindex $l 3]\ </td> 222 puts <td>&nbsp</td> 223 puts <td>&nbsp</td> 224 puts <td>&nbsp</td> 225 puts </tr> 226 puts </table> 227 } 228 puts </body> 229 puts </html> 230 } 231 puts </body> 232 puts </html> simvaseis00.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>\ ΣΥΜΒΑΣΕΙΣ\ ΑΝΑΖΗΤΗΣΗ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="simvaseis0.tcl"\ method="post"> 14 puts <table\ align="center"> 15 puts <tr> 149

151 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="right">\ Όνομα\ </TD> 23 puts <TD\ align="left"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="right">\ Επίθετο\ </TD> 27 puts <TD\ align="left"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 30 puts <TD\ colspan="3"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table> 33 puts </form> 34 puts </body> 35 puts </html> simvaseis0.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos from simvoulnum group by akadetos"] 11 } 12 puts <html> 13 puts <head> 14 puts <title>διορθωση\ ΣΥΜΒΑΣΗΣ</title> 15 puts </head> 16 puts <body\ bgcolor="#d9f2ff"> 150

152 17 puts <form\ action="simvaseis.tcl"\ method="post"> 18 puts <table\ align="center"> 19 puts <tr> 20 puts <td\ align="right">επιλογή\ Καθηγητή</td> 21 puts <td><select\ name="names"> 22 foreach y $ln { 23 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 24 } 25 puts </select> 26 puts </tr> 27 puts <tr> 28 puts <td\ align="right">ακαδημαϊκό\ Έτος</td> 29 puts <td><select\ name="a"> 30 foreach e $lo { 31 puts <option\ value="[lindex $e 0]">[lindex $e 0] 32 } 33 puts </tr> 34 puts <tr> 35 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 36 puts </tr> 37 puts </table></form></body></html> simvaseis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 151

153 13 puts <form\ name="ff"\ action="simvaseis1.tcl"\ method="post"> 14 puts <table\ border="0"\ align="center"> 15 puts <tr> 16 puts <td\ align="center"\ colspan="4"><p><b>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ</b></p></td> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="4">&nbsp</td> 20 puts </tr> 21 puts <tr> 22 puts <td\ colspan="4"><hr></td> 23 puts </tr> 24 puts <tr> 25 puts <td\ align="right">\ Ημερομηνία\ </td> 26 puts <td><input\ type="text"\ name="a"></td> 27 puts <td\ align="right">\ Ημέρα\ </td> 28 puts <td><select\ name="b"> 29 puts <option\ value="1">δευτερα 30 puts <option\ value="2">τριτη 31 puts <option\ value="3">τεταρτη 32 puts <option\ value="4">πεμπτη 33 puts <option\ value="5">παρασκευη 34 puts </select></td> 35 puts </tr> 36 puts <tr> 37 puts <td\ align="right">\ Έτος\ (EEEE-EEEE)</td> 38 puts <td><input\ type="text"\ name="c"></td> 39 puts <td\ align="right">\ Όνομα\ </td> 40 puts <TD><input\ type="text"\ name="d"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">\ Επίθετο\ </td> 44 puts <TD><input\ type="text"\ name="e"></td> 45 puts <td\ align="right">\ ID\ καθηγητή</td> 46 puts <td><input\ type="text"\ name="f"></td> 47 puts </tr> 48 puts <tr> 49 puts <td\ align="right">\ Αρ.\ απόφασης\ συμβουλίου\ Τ.Ε.Ι.\ </td> 50 puts <td><input\ type="text"\ name="g"></td> 51 puts <td\ align="right">\ Αριθμός\ απόφασης\ γενικής\ συνέλευσης\ τμήματος</td> 52 puts <td><input\ type="text"\ name="h"></td> 53 puts </tr> 54 puts <tr> 55 puts <td\ align="right">ημερομηνία\ απόφ.\ γέν.\ συνέλ. 56 puts <td><input\ type="text"\ name="h1"></td> 57 puts <td\ alignn="right">\ Αριθμός\ Ωρών\ που\ ανατέθηκαν\ </td> 58 puts <td><input\ type="text"\ name="i"></td> 59 puts </tr> 60 puts <tr> 61 puts <td\ align="right">\ Βαθμίδα</td> 62 puts <td\ colspan="3"><select\ name="k"> 63 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 64 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 65 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 66 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 152

154 67 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 68 puts </select> 69 puts </tr> 70 puts <tr> 71 puts <td\ align="right">καταχώρηση</td> 72 puts <td\ align="left"><select\ name="qo"> 73 puts <option\ value="1">νεασ\ ΣΥΜΒΑΣΗΣ 74 puts <option\ value="2">τροποποιηση\ ΣΥΜΒΑΣΗΣ 75 puts </select> 76 puts <td\ align="right">ωριαία\ αμοιβή</td> 77 puts <td><input\ type="text"\ name="vj"></td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="right">έναρξη\ Σύμβασης</td> 81 puts <td><input\ type="text"\ name="enar"></td> 82 puts <td\ align="right">λήξη\ Σύμβασης</td> 83 puts <td><input\ type="text"\ name="lixi"></td> 84 puts </tr> 85 puts <tr> 86 puts <td\ colspan="4">&nbsp</td> 87 puts </tr> 88 puts <tr> 89 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ 90 value="καταχωρηση"></td> 91 puts </tr> 92 puts </table> 93 puts </form> 94 puts <form\ name="v"\ action="/index.html"\ method="post"> 95 puts <table\ align="center"> 96 puts <tr> 97 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 98 puts </tr> 99 puts </table> 100 puts </form> 101 puts <script\ language="javascript"\ type="text/javascript"> 102 puts <! set f1 [lindex [sql "select * from simvasi where id_teacher=$names"] 0] 104 set f2 [lindex [sql "select f_name, l_name, id from teacher where id=$names"] 0] 105 set f5 [lindex [sql "select ar_symb_tei, gen_synel_num, date3, akadetos from simvoulnum where (akadetos like \"$a\")"] 0] 106 puts ff.a.value="[lindex $f1 2]"\; 107 puts ff.b.value="[lindex $f1 3]"\; 108 puts ff.c.value="[lindex $f5 3]"\; 109 puts ff.d.value="[lindex $f2 0]"\; 110 puts ff.e.value="[lindex $f2 1]"\; 111 puts ff.f.value="[lindex $f2 2]"\; 112 puts ff.g.value="[lindex $f5 0]"\; 113 puts ff.h.value="[lindex $f5 1]"\; 114 puts ff.h1.value="[lindex $f5 2]"\; 115 puts ff.i.value="[lindex $f1 7]"\; 116 puts ff.k.value="[lindex $f1 8]"\; 117 puts ff.qo.value="[lindex $f1 13]"\; 118 puts ff.enar.value="[lindex $f1 15]"\; 119 puts ff.lixi.value="[lindex $f1 16]"\; 120 puts ff.vj.value="[lindex $f1 14]"\; 121 puts --> 122 puts </script> 153

155 123 Puts </body> 124 puts </html> simvaseis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "insert into simvasi (date, day, year, f_name, l_name, id_teacher, apof_symb_tei, apof_gen_synel_dp, dateapof, hours, bathmida, tropop, enarxi, lixi, orpliromi) values (\"$a\", \"$b\", \"$c\", \"$c\", \"$e\", \"$f\", \"$g\", \"$h\", \"$h1\", \"$i\", \"$k\", \"$qo\", \"$enar\", \"$lixi\", \"$vj\")" 9 puts <html> 10 puts <head> 11 puts <title>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 12 puts </head> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <table\ align="center"> 15 puts <td>πραγματοποιηθικε\ Η\ ΚΑΤΑΧΩΡΗΣΗ\ ΤΗΣ\ ΣΥΜΒΑΣΗΣ\ ΕΠΙΤΥΧΩΣ</td> 16 puts </table> 17 puts </body> 18 puts </html> diorthsimvaseis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman

156 7 sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ name="ff"\ action="diorthsimvaseis1.tcl"\ method="post"> 14 puts <table\ border="0"\ align="center"> 15 puts <tr> 16 puts <td\ align="center"\ colspan="4"><p><b>καταχωρηση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ</b></p></td> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="4">&nbsp</td> 20 puts </tr> 21 puts <tr> 22 puts <td\ colspan="4"><hr></td> 23 puts </tr> 24 puts <tr> 25 puts <td\ align="right">\ Ημερομηνία\ </td> 26 puts <td><input\ type="text"\ name="a"></td> 27 puts <td\ align="right">\ Ημέρα\ </td> 28 puts <td><select\ name="b"> 29 puts <option\ value="1">δευτερα 30 puts <option\ value="2">τριτη 31 puts <option\ value="3">τεταρτη 32 puts <option\ value="4">πεμπτη 33 puts <option\ value="5">παρασκευη 34 puts </select></td> 35 puts </tr> 36 puts <tr> 37 puts <td\ align="right">\ Έτος\ (EEEE-EEEE)</td> 38 puts <td><input\ type="text"\ name="c"></td> 39 puts <td\ align="right">\ Όνομα\ </td> 40 puts <TD><input\ type="text"\ name="d"></td> 41 puts </tr> 42 puts <tr> 43 puts <td\ align="right">\ Επίθετο\ </td> 44 puts <TD><input\ type="text"\ name="e"></td> 45 puts <td\ align="right">\ ID\ καθηγητή</td> 46 puts <td><input\ type="text"\ name="f"></td> 47 puts </tr> 48 puts <tr> 49 puts <td\ align="right">\ Αρ.\ απόφασης\ συμβουλίου\ Τ.Ε.Ι.\ </td> 50 puts <td><input\ type="text"\ name="g"></td> 51 puts <td\ align="right">\ Αριθμός\ απόφασης\ γενικής\ συνέλευσης\ τμήματος</td> 52 puts <td><input\ type="text"\ name="h"></td> 53 puts </tr> 54 puts <tr> 55 puts <td\ align="right">ημερομηνία\ απόφ.\ γέν.\ συνέλ. 56 puts <td><input\ type="text"\ name="h1"></td> 57 puts <td\ alignn="right">\ Αριθμός\ Ωρών\ που\ ανατέθηκαν\ </td> 58 puts <td><input\ type="text"\ name="i"></td> 59 puts </tr> 60 puts <tr> 61 puts <td\ align="right">\ Βαθμίδα</td> 62 puts <td\ colspan="3"><select\ name="k"> 63 puts <option\ value="1">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΕΠΙΚΟΥΡΟΥ\ ΚΑΘΗΓΗΤΗ 155

157 64 puts <option\ value="2">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΠΡΟΣΟΝΤΑ\ ΚΑΘΗΓΗΤΗ\ ΕΦΑΡΜΟΓΩΝ 65 puts <option\ value="3">επιστημονικοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΔΙΔΑΚΤΟΡΙΚΟ 66 puts <option\ value="4">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ\ ΚΑΙ\ ΜΕΤΑΠΤΥΧΙΑΚΟ 67 puts <option\ value="5">εργαστηριακοσ\ ΣΥΝΕΡΓΑΤΗΣ\ ΜΕ\ ΒΑΣΙΚΟ\ ΤΙΤΛΟ\ ΣΠΟΥΔΩΝ 68 puts </select> 69 puts </tr> 70 puts <tr> 71 puts <td\ align="right">καταχώρηση</td> 72 puts <td\ align="left"><select\ name="qo"> 73 puts <option\ value="1">νεασ\ ΣΥΜΒΑΣΗΣ 74 puts <option\ value="2">τροποποιηση\ ΣΥΜΒΑΣΗΣ 75 puts </select> 76 puts <td\ align="right">ωριαία\ αμοιβή</td> 77 puts <td><input\ type="text"\ name="vj"></td> 78 puts </tr> 79 puts <tr> 80 puts <td\ align="right">έναρξη\ Σύμβασης</td> 81 puts <td><input\ type="text"\ name="enar"></td> 82 puts <td\ align="right">λήξη\ Σύμβασης</td> 83 puts <td><input\ type="text"\ name="lixi"></td> 84 puts </tr> 85 puts <tr> 86 puts <td\ colspan="4">&nbsp</td> 87 puts </tr> 88 puts <tr> 89 puts <td\ colspan="4"\ align="center"><input\ type="submit"\ 90 value="καταχωρηση"></td> 91 puts </tr> 92 puts </table> 93 puts </form> 94 puts <form\ name="v"\ action="/index.html"\ method="post"> 95 puts <table\ align="center"> 96 puts <tr> 97 puts <td\ align="center"><input\ type="submit"\ value="\ ΕΠΙΣΤΡΟΦΗ\ ΣΤΗΝ\ ΑΡΧΗΚΗ\ ΣΕΛΙΔΑ"></td> 98 puts </tr> 99 puts </table> 100 puts </form> 101 puts <script\ language="javascript"\ type="text/javascript"> 102 puts <! set f1 [lindex [sql "select * from simvasi where id_teacher=$names"] 0] 104 set f2 [lindex [sql "select f_name, l_name, id from teacher where id=$names"] 0] 105 set f5 [lindex [sql "select ar_symb_tei, gen_synel_num, date3, akadetos from simvoulnum where (akadetos like \"$a\")"] 0] 106 puts ff.a.value="[lindex $f1 2]"\; 107 puts ff.b.value="[lindex $f1 3]"\; 108 puts ff.c.value="[lindex $f5 3]"\; 109 puts ff.d.value="[lindex $f2 0]"\; 110 puts ff.e.value="[lindex $f2 1]"\; 111 puts ff.f.value="[lindex $f2 2]"\; 112 puts ff.g.value="[lindex $f5 0]"\; 113 puts ff.h.value="[lindex $f5 1]"\; 114 puts ff.h1.value="[lindex $f5 2]"\; 115 puts ff.i.value="[lindex $f1 7]"\; 116 puts ff.k.value="[lindex $f1 8]"\; 156

158 117 puts ff.qo.value="[lindex $f1 13]"\; 118 puts ff.enar.value="[lindex $f1 15]"\; 119 puts ff.lixi.value="[lindex $f1 16]"\; 120 puts ff.vj.value="[lindex $f1 14]"\; 121 puts --> 122 puts </script> 123 Puts </body> 124 puts </html> diorthsimvaseis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 sql "update simvasi set date=\"$a\", day=\"$b\", year=\"$c\", f_name=\"$c\", l_name=\"$e\", id_teacher=\"$f\", apof_symb_tei=\"$g\", apof_gen_synel_dp=\"$h\", dateapof=\"$h1\", hours=\"$i\", bathmida=\"$k\", tropop=\"$qo\", enarxi=\"$enar\", lixi=\"$lixi\", orpliromi=\"$vj\" where (year=\"$c\") && (id_teacher=\"$f\")" 9 puts <html> 10 puts <head> 11 puts <title>διορθωση\ ΣΥΜΒΑΣΗΣ\ ΕΡΓΑΣΙΑΣ\ </title> 12 puts </head> 13 puts <body\ bgcolor="#d9f2ff"> 14 puts <table\ align="center"> 15 puts <td>πραγματοποιηθhκε\ Η\ ΔΙΟΡΘΩΣΗ\ ΤΗΣ\ ΣΥΜΒΑΣΗΣ\ ΕΠΙΤΥΧΩΣ</td> 16 puts </table> 17 puts </body> 18 puts </html> emfansimvas.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 157

159 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 Puts <head> 10 puts <title>αναζητηση\ ΣΥΜΒΑΣΗΣ</title> 11 puts </head> 12 puts <head> 13 puts <title>αναθεσεισ\ ΚΑΤΑΧΩΡΗΣΗ</title> 14 puts </head> 15 puts <body\ bgcolor="#d9f2ff"> 16 puts <form\ action="emfansimvas1.tcl"\ method="post"> 17 puts <table\ align="center"> 18 puts <TR> 19 puts <TD\ align="center">\ Όνομα\ </TD> 20 puts <TD\ align="center"><input\ type="text"\ name="a"></td> 21 puts </TR> 22 puts <TR> 23 puts <TD\ align="center">\ Επήθετο\ </TD> 24 puts <TD\ align="center"><input\ type="text"\ name="b"></td> 25 puts </TR> 26 puts <TR> 27 puts <TD\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 28 puts </TR> 29 puts </table> 30 puts </form> 31 puts </body> 32 puts </html> emfansimvas1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 158

160 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] foreach z $ln { 9 set lo [sql "select year from simvasi where id_teacher=[lindex $z 2] group by year"] 10 } 11 puts <html> 12 puts <head> 13 puts <title>αναζητηση\ ΣΥΜΒΑΣΗΣ</title> 14 puts </head> 15 puts <body\ bgcolor="#d9f2ff"> 16 puts <form\ action="emfansimvas2.tcl"\ method="post"> 17 puts <table\ align="center"> 18 puts <tr> 19 puts <td\ align="right">επιλογή\ Καθηγητή</td> 20 puts <td><select\ name="names"> 21 foreach y $ln { 22 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 23 } 24 puts </select> 25 puts </tr> 26 puts <tr> 27 puts <td\ align="right">επιλογή\ Ανάθεσης</td> 28 puts <td><select\ name="s"> 29 puts <option\ value="1">νεα\ ΑΝΑΘΕΣΗ 30 puts <option\ value="2">τροποποιηση\ ΑΝΑΘΕΣΗΣ 31 puts </select> 32 puts </tr> 33 puts <tr> 34 puts <td\ align="right">ακαδιμαϊκό\ Έτος</td> 35 puts <td><select\ name="lo"> 36 foreach e $lo { 37 puts <option\ value="[lindex $e 0]">[lindex $e 0] 38 } 39 puts </tr> 40 puts <tr> 41 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="επιλογη"> 42 puts </tr> 43 puts </table></form></body></html emfansimvas2.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set f1 [sql "select bathmida, date, day, apof_symb_tei, apof_gen_synel_dp, year, hours, f_name, l_name, thema, dateapof, orpliromi, enarxi, lixi from simvasi where (id_teacher=$names) && (year like \"$lo\")"] 9 set f2 [sql "select fathername, adt, dateoftaftotita, placeoftaftotita, address, tk, city, phone1, afm, eforia, f_name, l_name from teacher where id=$names"] 10 set f3 [sql "select id, hoursth, hoursask, hourserg, ypoxrepilog, examino, tropop from mathima where (id_teacher=$names) && (tropop like \"$s\") && (akadetos like \"$lo\")"] 159

161 11 puts [lindex [lindex $f1 0] 0] 12 puts <html> 13 puts <head> 14 puts <title>συμβασεισ</title> 15 puts </head> 16 puts <body> 17 puts <table\ align="center"\ border="2"\ width=680> 18 puts <tr> 19 puts <td> 20 puts <table\ align="center"\ width=650> 21 puts <tr> 22 puts <td\ align="center"\ width=50%>ελληνικη\ ΔΗΜΟΚΡΑΤΙΑ<br>ΤΕΧΝΟΛΟΓΙΚΟ\ ΕΚΠΑΙΔΕΥΤΙΚΟ\ ΙΔΡΥΜΑ<br>(ΤΕΙ)\ ΚΑΒΑΛΑΣ</td> 23 puts <td>&nbsp</td> 24 puts </tr> 25 puts <table\ align="center"\ width=650> 26 puts <tr> 27 puts <td>&nbsp</td> 28 puts </tr> 29 if {[lindex [lindex $f1 0] 0] == 1} { 30 puts <tr> 31 puts <td\ align="center"><p><b><u>συμβαση\ ΑΝΑΘΕΣΗΣ\ ΕΚΑΠΙΔΕΥΤΙΚΟΥ\ ΕΡΓΟΥ</u></b></p></td> 32 puts </tr> 33 } elseif {[lindex [lindex $f1 0] 0] == 2} { 34 puts <tr> 35 puts <td\ align="center"><p><b><u>συμβαση\ ΑΝΑΘΕΣΗΣ\ ΕΚΑΠΙΔΕΥΤΙΚΟΥ\ ΕΡΓΟΥ</u></b></p></td> 36 puts </tr> 37 } elseif {[lindex [lindex $f1 0] 0] == 3} { 38 puts <tr> 39 puts <td\ align="center"><p><b><u>συμβαση\ ΕΡΓΑΣΙΑΣ\ ΙΔΙΩΤΙΚΟΥ\ ΔΙΚΑΙΟΥ\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ</u></b></p></td> 40 puts </tr> 41 } elseif {[lindex [lindex $f1 0] 0] == 4} { 42 puts <tr> 43 puts <td\ align="center"><p><b><u>συμβαση\ ΕΡΓΑΣΙΑΣ\ ΙΔΙΩΤΙΚΟΥ\ ΔΙΚΑΙΟΥ\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ</u></b></p></td> 44 puts </tr> 45 } elseif {[lindex [lindex $f1 0] 0] == 5} { 46 puts <tr> 47 puts <td\ align="center"><p><b><u>συμβαση\ ΕΡΓΑΣΙΑΣ\ ΙΔΙΩΤΙΚΟΥ\ ΔΙΚΑΙΟΥ\ ΟΡΙΣΜΕΝΟΥ\ ΧΡΟΝΟΥ</u></b></p></td> 48 puts </tr> 49 } 50 puts <tr> 51 puts <td>&nbsp</td> 52 puts </tr> 53 puts <tr> 54 puts <td\ align="justify">σήμερα\ την\ [lindex [lindex $f1 0] 1]\ ημέρα\ [lindex [lindex $f1 0] 2]\ στις\ εγκαταστάσεις\ του\ ΤΕΙ\ Καβάλας\ από\ την\ μία\ μεριά\ ο\ Πρόεδρος\ του\ ΤΕΙ\ Καβάλας\ (πρώτος\ συμβαλλόμενος)\ Αναστάσιος\ Μπόγλου,\ ενεργώντας\ σύμφωνα\ με\ τις\ επιταγές\ των\ νόμων:\ α)\ 1404/1983\ "Δομή\ και\ λειτουργία\ των\ Τεχνολογικών\ Εκπαιδευτικών\ Ιδρυμάτων"\ (ΦΕΚ\ 173/ τ.Α),\ β)\ 1894/1990\ άρθρο\ 3\ "Για\ την\ Ακαδημία\ Αθηνών\ και\ άλλες\ εκπαιδευτικές\ διατάξεις"\ (ΦΕΚ\ 110/ \ τ.α),\ γ)\ 2454/1997\ άρθρο\ 16\ "Ρύθμιση\ θεμάτων\ τριτοβάθμιας\ εκπαίδευσης\ και\ άλλες\ διατάξεις"\ (ΦΕΚ\ 7/ \ τ.α),\ δ)\ 2413/1996\ "Η\ ελληνική\ παιδεία\ στο\ εξωτερικό,\ η\ διαπολιτισμική\ 160

162 εκπαίδευση\ και\ άλλες\ διατάξεις"\ (ΦΕΚ\ 124/ \ τ.α),\ ε)\ 2621/1998\ άρθρο\ 1\ "Ρύθμιση\ θεμάτων\ οργάνωσης\ και\ λειτουργίας\ των\ Τ.Ε.Ι.\ και\ άλλες\ διατάξεις"\ (ΦΕΚ\ 136/ \ τ.α),\ στ)\ 2817/2000\ άρθρο\ 11\ "Εκπαίδευση\ των\ ατόμων\ με\ ειδικές\ εκπαιδευτικές\ ανάγκες\ και\ άλλες\ διατάξεις"\ (ΦΕΚ\ 78/ \ τ.α),\ ζ)\ 2916/2001\ άρθρο\ 4\ "Διάρθρωση\ της\ ανώτατης\ εκπαίδευσης\ και\ ρύθμιση\ του\ τεχνολογικού\ τομέα\ αυτής"\ (ΦΕΚ\ 114/ \ τ.α)\ αλλά\ και\ σύμφωνα\ με\ την\ απόφαση\ του\ Υπουργού\ Παιδείας\ και\ Θρησκευμάτων\ Ε5/1585/ \ "Εσωτερικός\ Κανονισμός\ των\ Τ.Ε.Ι.\ "\ (ΦΕΚ\ 191/ \ τ.β)\ και\ με\ βάση\ το\ ΠΔ\ 163/2002\ "Διαδικασία\ και\ προϋποθέσεις\ πρόσληψης\ επιστημονικών\ συνεργατών,\ εργαστηριακών\ συνεργατών,\ εκπαιδευτικών\ ειδικών\ μαθημάτων\ και\ ειδικών\ συνεργατών\ στα\ Τ.Ε.Ι."\ (ΦΕΚ\ 149/ \ τ.α),\ και\ την\ απόφαση\ του\ Συμβουλίου\ του\ ΤΕΙ\ Καβάλας\ με\ αριθμό\ [lindex [lindex $f1 0] 4]/[lindex [lindex $f1 0] 1]\ θέμα\ [lindex [lindex $f1 0] 9]\ που\ στηρίχθηκε\ στην\ απόφαση\ της\ Γενικής\ Συνέλευσης\ του\ Τμήματος\ Διαχείρισης\ Πληροφοριών\ με\ αριθμό\ [lindex [lindex $f1 0] 4]/[lindex [lindex $f1 0] 10]\και\ από\ την\ άλλη\ ο\ δεύτερος\ συμβαλλόμενος\ με\ στοιχεία: 55 puts </tr> 56 puts <tr> 57 puts <td\ align="left">επιθετο:\ [lindex [lindex $f1 0] 8]</td> 58 puts </tr> 59 puts <tr> 60 puts <td\ align="left">ονομα:\ [lindex [lindex $f1 0] 7]</td> 61 puts </tr> 62 puts <tr> 63 puts <td\ align="left">ονομα\ ΠΑΤΕΡΑ:\ [lindex [lindex $f2 0] 0]</td> 64 puts </tr> 65 puts <tr> 66 puts <td\ align="left">αριθμός\ Δελτίου\ Αστυνομικής\ Ταυτότητας:\ [lindex [lindex $f2 0] 1]</td> 67 puts </tr> 68 puts <tr> 69 puts <td\ align="left">με\ ημερομηνία\ [lindex [lindex $f2 0] 2]\ που\ εκδόθηκε\ από\ το\ AT\ [lindex [lindex $f2 0] 3]</td> 70 puts </tr> 71 puts <tr> 72 puts <td\ align="left"><p><u>διευθυνση\ ΚΑΤΟΙΚΙΑΣ:</u></p></td> 73 puts </tr> 74 puts <tr> 75 puts <td\ align="left">οδός:\ [lindex [lindex $f2 0] 4]\ Αριθμός:\ [lindex [lindex $f2 0] 5]</td> 76 puts </tr> 77 puts <tr> 78 puts <td\ align="left">t.k:\ [lindex [lindex $f2 0] 6]\ Πόλη:\ [lindex [lindex $f2 0] 7]</td> 79 puts </tr> 80 puts <tr> 81 puts <td\ align="left">αριθμ.\ Τηλέφ.:\ [lindex [lindex $f2 0] 7]</td> 82 puts </tr> 83 puts <tr> 84 puts <td\ align="left">α.φ.μ.\ [lindex [lindex $f2 0] 8]\ Δ.Ο.Υ.:\ [lindex [lindex $f2 0] 9]</td> 85 puts </tr> 86 puts <tr> 87 puts <td\ align="center"><p><b>αποδέχθηκαν\ και\ συνομολόγησαν\ τα\ παρακάτω:</b></p></td> 161

163 88 puts </tr> 89 puts <tr> 90 puts <td\ align="justify">ο\ πρώτος\ από\ τους\ συμβαλλόμενους\ αναθέτει\ στον\ δεύτερo\ συμβαλλόμενο\ διδακτικό\ έργο\ για\ το\ ακαδημαϊκό\ έτος\ $lo\ για\ την\ κάλυψη\ εκπαιδευτικών\ αναγκών\ του\ Ιδρύματος\ με\ τους\ παρακάτω\ όρους\ και\ συμφωνίες:</td> 91 puts </tr> 92 puts <tr> 93 if {[lindex [lindex $f1 0] 0] == 1} { 94 puts <td\ align="justify">1.\ Ο\ δεύτερος\ συμβαλλόμενος\ αναλαμβάνει\ συνολικά\ διδακτικό\ έργο\ [lindex [lindex $f1 0] 6]\ ωρών\ την\ εβδομάδα,\ με\ όλες\ τις\ υποχρεώσεις\ της\ βαθμίδας\ του\ επιστιμονικού\ συνεργάτη\ με\ προσόντα\ επίκουρου\ καθηγητή\ το\ οποίο\ υποχρεώνεται\ να\ προσφέρει\ ανελλιπώς\ με\ θετική\ απόδοση\ και\ σύμφωνα\ με\ το\ πρόγραμμα\ του\ Τμήματος\ ή\ των\ Τμημάτων\ του\ ΤΕΙ\ Καβάλας\ που\ αναφέρονται\ πιο\ κάτω\ και\ την\ προσφορά\ των\ παρακάτω\ υπηρεσιών:</td> 95 } elseif {[lindex [lindex $f1 0] 0] == 2} { 96 puts <td\ align="justify">1.\ Ο\ δεύτερος\ συμβαλλόμενος\ αναλαμβάνει\ συνολικά\ διδακτικό\ έργο\ [lindex [lindex $f1 0] 6]\ ωρών\ την\ εβδομάδα,\ με\ όλες\ τις\ υποχρεώσεις\ της\ βαθμίδας\ του\ εργαστηριακού\ συνεργάτη\ με\ προσόντα\ καθηγητή\ εφαρμογών\ το\ οποίο\ υποχρεώνεται\ να\ προσφέρει\ ανελλιπώς\ με\ θετική\ απόδοση\ και\ σύμφωνα\ με\ το\ πρόγραμμα\ του\ Τμήματος\ ή\ των\ Τμημάτων\ του\ ΤΕΙ\ Καβάλας\ που\ αναφέρονται\ πιο\ κάτω\ και\ την\ προσφορά\ των\ παρακάτω\ υπηρεσιών:</td> 97 } elseif {[lindex [lindex $f1 0] 0] == 3} { 98 puts <td\ align="justify">1.\ Ο\ δεύτερος\ συμβαλλόμενος\ προσλαμβάνεται\ σε\ θέση\ του\ επιστιμονικού\ συνεργάτη\ με\ βασικό\ τίτλο\ σπουδών\ με\ διδακτορικό\ και\ αναλαμβάνει\ συνολικά\ διδακτικό\ έργο\ [lindex [lindex $f1 0] 6]\ ωρών\ την\ εβδομάδα,\ το\ οποίο\ υποχρεώνεται\ να\ προσφέρει\ ανελλιπώς\ με\ θετική\ απόδοση\ και\ σύμφωνα\ με\ το\ πρόγραμμα\ του\ Τμήματος\ ή\ των\ Τμημάτων\ του\ ΤΕΙ\ Καβάλας\ που\ αναφέρονται\ πιο\ κάτω\ και\ για\ την\ προσφορά\ των\ παρακάτω\ υπηρεσιών:</td> 99 } elseif {[lindex [lindex $f1 0] 0] == 4} { 100 puts <td\ align="justify">1.\ Ο\ δεύτερος\ συμβαλλόμενος\ προσλαμβάνεται\ σε\ θέση\ του\ εργαστηριακού\ συνεργάτη\ με\ βασικό\ τίτλο\ σπουδών\ και\ μεταπτυχιακό\ και\ αναλαμβάνει\ συνολικά\ διδακτικό\ έργο\ [lindex [lindex $f1 0] 6]\ ωρών\ την\ εβδομάδα,\ το\ οποίο\ υποχρεώνεται\ να\ προσφέρει\ ανελλιπώς\ με\ θετική\ απόδοση\ και\ σύμφωνα\ με\ το\ πρόγραμμα\ του\ Τμήματος\ ή\ των\ Τμημάτων\ του\ ΤΕΙ\ Καβάλας\ που\ αναφέρονται\ πιο\ κάτω\ και\ για\ την\ προσφορά\ των\ παρακάτω\ υπηρεσιών:</td> 101 } elseif {[lindex [lindex $f1 0] 0] == 5} { 102 puts <td\ align="justify">1.\ Ο\ δεύτερος\ συμβαλλόμενος\ προσλαμβάνεται\ σε\ θέση\ του\ εργαστηριακού\ συνεργάτη\ με\ βασικό\ τίτλο\ σπουδών\ και\ αναλαμβάνει\ συνολικά\ διδακτικό\ έργο\ [lindex [lindex $f1 0] 6]\ ωρών\ την\ εβδομάδα,\ το\ οποίο\ υποχρεώνεται\ να\ προσφέρει\ ανελλιπώς\ με\ θετική\ απόδοση\ και\ σύμφωνα\ με\ το\ πρόγραμμα\ του\ Τμήματος\ ή\ των\ Τμημάτων\ του\ ΤΕΙ\ Καβάλας\ που\ αναφέρονται\ πιο\ κάτω\ και\ για\ την\ προσφορά\ των\ παρακάτω\ υπηρεσιών:</td> 103 } 104 puts </tr> 105 puts <tr> 106 puts <td\ align="left">α.\ Διδασκαλία\ των\ μαθημάτων\ με\ τις\ αντίστιχες\ ώρες</td> 107 puts </tr> 108 puts <tr> 109 puts <td\ align="left">τμήμα:\ Διαχείριση\ Πληροφοριών</td> 162

164 110 puts </tr> 111 foreach so $f3 { 112 set f21 [sql "select name from course where id=[lindex $so 0]" ] 113 puts <tr> 114 puts <td\ align="left"><ul><li>μάθημα:\ [lindex [lindex $f21 0] 0]\ ([lindex $so 1])\ ώρες\ θεωρίας\ ([lindex $so 2])\ ώρες\ ασκήσεων\ ([lindex $so 3])\ ώρες\ εργαστηρίου</li></ul></td> 115 puts </tr> 116 } 117 puts <tr> 118 puts <td\ align="left">τμήμα:...</td> 119 puts </tr> 120 puts <tr> 121 puts <td\ align="left">τομέας: </td> 122 puts </tr> 123 puts <tr> 124 puts <td\ align="left">1.\ Μάθημα:......(...)\ ώρες...</td> 125 puts <tr> 126 puts <tr> 127 puts <td\ align="left">2.\ Μάθημα:......(...)\ ώρες...</td> 128 puts <tr> 129 puts <tr> 130 puts <td\ align="left">3.\ Μάθημα:......(...)\ ώρες...</td> 131 puts <tr> 132 puts <tr> 133 puts <td\ align="left">4.\ Μάθημα:......(...)\ ώρες...</td> 134 puts <tr> 135 puts <td\ align="justify">β.\ \ Την\ διεξαγωγή\ /\ προπαρασκευή\ ή\ την\ πρακτική\ ή\ εργαστηριακή\ άσκηση\ των\ σπουδαστών\ στα\ εργαστήρια\ ή\ στους\ χώρους\ άσκησης.</td> 136 puts </tr> 137 puts <tr> 138 puts <td\ align="justify">γ.\ \ Την\ προσφορά\ κάθε\ άλλου\ έργου,\ σύμφωνα\ με\ την\ κείμενη\ νομοθεσία\ που\ θα\ του\ αναθέσει\ με\ απόφασή\ του\ ο\ Προϊστάμενος\ του\ τμήματος\ ή\ ο\ Διευθυντής\ της\ οικείας\ Σχολής,\ όπως\ παρακολούθηση\ σπουδαστών\ στην\ εκπόνηση\ πτυχιακής\ εργασίας,\ διεξαγωγή\ εξετάσεων\ περιόδου\ Σεπτεμβρίου\ κλπ.</td> 139 puts </tr> 140 puts <tr> 141 puts <td\ align="justify">2.\ Ο\ δεύτερος\ συμβαλλόμενος\ υποχρεούται\ να\ παραμένει\ καθημερινά\ στο\ Ίδρυμα\ καθ'\ όλη\ την\ προβλεπόμενη\ διάρκεια\ του\ μαθήματος\ καθώς\ και\ για\ όσο\ χρονικό\ διάστημα\ είναι\ απαραίτητο\ για\ την\ εκτέλεση\ των\ άλλων\ καθηκόντων.</td> 163

165 142 puts </tr> 143 puts [lindex [lindex $f1 0] 5] 144 if { [lindex [lindex $f1 0] 0] == 1} { 145 puts <tr> 146 puts <td\ align="justify">3α.\ Η\ ωριαία\ αποζημίωση\ καθορίζεται,\ σύμφωνα\ με\ την\ αριθ.\ 2/54807/0022/ \ (ΦΕΚ\ 1393/ \ τβ)\ απόφαση\ των\ Υπουργών\ Οικονομίας\ και\ Οικονομικών\ και\ Εθνικής\ Παιδείας\ και\ Θρησκευμάτων\ σε\ [lindex [lindex $f1 0] 11]\ και\ εκκαθαρίζεται\ και\ καταβάλλεται\ σε\ μηνιαία\ βάση.\ Η\ αποζημίωση\ υπόκειται\ σ'\ όλες\ τις\ νόμιμες\ κρατήσεις</td> 147 puts </tr> 148 } elseif {[lindex [lindex $f1 0] 0] == 2} { 149 puts <tr> 150 puts <td\ align="justify">3α.\ Η\ ωριαία\ αποζημίωση\ καθορίζεται,\ σύμφωνα\ με\ την\ αριθ.\ 2/54807/0022/ \ (ΦΕΚ\ 1393/ \ τβ)\ απόφαση\ των\ Υπουργών\ Οικονομίας\ και\ Οικονομικών\ και\ Εθνικής\ Παιδείας\ και\ Θρησκευμάτων\ σε\ [lindex [lindex $f1 0] 11]\ και\ εκκαθαρίζεται\ και\ καταβάλλεται\ σε\ μηνιαία\ βάση.\ Η\ αποζημίωση\ υπόκειται\ σ'\ όλες\ τις\ νόμιμες\ κρατήσεις</td> 151 puts </tr> 152 } elseif {[lindex [lindex $f1 0] 0] == 3} { 153 puts <tr> 154 puts <td\ align="justify">3α.\ Η\ μηνιαία\ αποζημίωση\ είναι\ ίση με\ το\ σύνολο\ των\ κάθε\ είδους\ αποδοχών\ του\ μόνιμου\ προσωπικού\ της\ βαθμίδας\ με\ βασικό\ τίτλο\ σπουδών\ με\ διδακτορικό\ πλην\ του\ χρονοεπιδόματος,\ εκτός\ και\ αν\ αποδειχθεί\ ότι\ τόσο\ για\ την\ αμοιβή\ όσο\ και\ το\ ωράριο\ εργασίας\ ισχύσει\ άλλη\ νομική\ ερμηνεία,\ εκκαθαρίζεται\ και\ καταβάλλεται\ σε\ μηνιαία\ βάση\ και\ υπόκειται\ σε\ όλες\ τις\ νόμιμες\ κρατήσεις.</td> 155 puts </tr> 156 } elseif {[lindex [lindex $f1 0] 0] == 4} { 157 puts <tr> 158 puts <td\ align="justify">3α.\ Η\ μηνιαία\ αποζημίωση\ είναι\ ίση με\ το\ σύνολο\ των\ κάθε\ είδους\ αποδοχών\ του\ μόνιμου\ προσωπικού\ της\ βαθμίδας\ του\ εργαστηριακού\ συνεργάτη\ με\ βασικό\ τίτλο\ σπουδών\ και\ μεταπτυχιακό\ πλην\ του\ χρονοεπιδόματος,\ εκτός\ και\ αν\ αποδειχθεί\ ότι\ τόσο\ για\ την\ αμοιβή\ όσο\ και\ το\ ωράριο\ εργασίας\ ισχύσει\ άλλη\ νομική\ ερμηνεία,\ εκκαθαρίζεται\ και\ καταβάλλεται\ σε\ μηνιαία\ βάση\ και\ υπόκειται\ σε\ όλες\ τις\ νόμιμες\ κρατήσεις.</td> 159 puts </tr> 160 } elseif {[lindex [lindex $f1 0] 0] == 5} { 161 puts <tr> 162 puts <td\ align="justify">3α.\ Η\ μηνιαία\ αποζημίωση\ είναι\ ίση με\ το\ σύνολο\ των\ κάθε\ είδους\ αποδοχών\ του\ μόνιμου\ προσωπικού\ της\ βαθμίδας\ του\ εργαστηριακού\ συνεργάτη\ με\ βασικό\ τίτλο\ σπουδών\ πλην\ του\ χρονοεπιδόματος,\ εκτός\ και\ αν\ αποδειχθεί\ ότι\ τόσο\ για\ την\ αμοιβή\ όσο\ και\ το\ ωράριο\ εργασίας\ ισχύσει\ άλλη\ νομική\ ερμηνεία,\ εκκαθαρίζεται\ και\ καταβάλλεται\ σε\ μηνιαία\ βάση\ και\ υπόκειται\ σε\ όλες\ τις\ νόμιμες\ κρατήσεις.</td> 163 puts </tr> 164 } 165 if {[lindex [lindex $f1 0] 0] == 1} { 166 puts <tr> 167 puts <td\ align="justify">3β.\ Ακόμα\ καταβάλλονται\ επιδόματα\ και\ Δώρα\ Χριστουγέννων\ και\ Πάσχα,\ σύμφωνα\ με\ την\ κοινή\ απόφαση\ των\ Υπουργών\ Οικονομικών\ και\ Εθνικής\ Παιδείας\ &\ 164

166 Θρησκευμάτων\ αριθμ.\ /8971/002/ \ (ΦΕΚ\ 887\ τ.β)\ και\ σε\ σχέση\ με\ την\ απόφαση\ της\ 49η\ Συνεδρίασης/ \ του\ 1ου\ τμήματος\ του\ Ελεγκτικού\ Συνεδρίου.</td> 168 puts </tr> 169 } elseif {[lindex [lindex $f1 0] 0] == 2} { 170 puts <tr> 171 puts <td\ align="justify">3β.\ Ακόμα\ καταβάλλονται\ επιδόματα\ και\ Δώρα\ Χριστουγέννων\ και\ Πάσχα,\ σύμφωνα\ με\ την\ κοινή\ απόφαση\ των\ Υπουργών\ Οικονομικών\ και\ Εθνικής\ Παιδείας\ &\ Θρησκευμάτων\ αριθμ.\ /8971/002/ \ (ΦΕΚ\ 887\ τ.β)\ και\ σε\ σχέση\ με\ την\ απόφαση\ της\ 49η\ Συνεδρίασης/ \ του\ 1ου\ τμήματος\ του\ Ελεγκτικού\ Συνεδρίου.</td> 172 puts </tr> 173 } elseif {[lindex [lindex $f1 0] 0] == 3} { 174 puts <tr> 175 puts <td\ align="justify">3β.\ Ακόμα\ καταβάλλονται\ επιδόματα\ αδείας\ και\ Δώρα\ Χριστουγέννων\ και\ Πάσχα.</td> 176 puts </tr> 177 } elseif {[lindex [lindex $f1 0] 0] == 4} { 178 puts <tr> 179 puts <td\ align="justify">3β.\ Ακόμα\ καταβάλλονται\ επιδόματα\ αδείας\ και\ Δώρα\ Χριστουγέννων\ και\ Πάσχα.</td> 180 puts </tr> 181 } elseif {[lindex [lindex $f1 0] 0] == 5} { 182 puts <tr> 183 puts <td\ align="justify">3β.\ Ακόμα\ καταβάλλονται\ επιδόματα\ αδείας\ και\ Δώρα\ Χριστουγέννων\ και\ Πάσχα.</td> 184 puts </tr> 185 } 186 puts <tr> 187 puts <td\ align="justify">4.\ \ Η\ διάρκεια\ της\ σύμβασης\ αυτής\ καθορίζεται\ για\ το\ εαρινό\ εξάμηνο\ ακαδημαϊκού\ έτους\ $lo.\ Ημερομηνία\ έναρξης\ της\ σύμβασης\ ορίζεται\ η\ [lindex [lindex $f1 0] 12]\ και\ ημερομηνία\ λήξης\ η\ [lindex [lindex $f1 0] 13].</td> 188 puts </tr> 189 puts <tr> 190 puts <td\ align="justify">5.\ Στο\ δεύτερο\ συμβαλλόμενο\ χορηγούνται\ άδειες\ σύμφωνα\ με\ την\ νομοθεσία\ που\ διέπει\ τη\ σχέση\ αυτή\ και\ σε\ συνδυασμό\ με\ τις\ διατάξεις\ του\ εσωτερικού\ κανονισμού\ του\ ΤΕΙ.\ Δεν\ είναι\ δυνατή\ η\ χορήγηση\ εκπαιδευτικών\ αδειών.\ Υπάρχει\ δυνατότητα\ καταβολής\ οδοιπορικών\ εξόδων\ με\ αποζημίωση\ εκτός\ έδρας,\ ύστερα\ από\ σύμφωνη\ γνώμη\ του\ και\ κατόπιν\ εντολής\ του\ Τ.Ε.Ι puts </tr> 192 puts <tr> 193 puts <td\ align="justify">6α.\ Σε\ περίπτωση\ που\ κάποιο\ από\ τα\ μαθήματα\ ή\ τμήματα\ μαθημάτων\ (\ λόγω\ κατάτμησης\ )\ που\ έχουν\ ανατεθεί\ στο\ δεύτερο\ συμβαλλόμενο\ καταργηθεί\ κατά\ τη\ διάρκεια\ ισχύος\ της\ σύμβασης,\ αυτοδίκαια\ παύει\ η\ ανάθεση\ και\ κάθε\ δικαίωμα\ που\ απορρέει\ από\ τη\ συγκεκριμένη\ ανάθεση.</td> 194 puts </tr> 195 puts <tr> 196 puts <td\ align="justify">6β.\ Σε\ περίπτωση\ που\ υπάρξει\ διαφοροποίηση\ των\ εκπαιδευτικών\ αναγκών\ δύναται\ η\ παρούσα\ σύμβαση\ να\ τροποποιηθεί\ ως\ προς\ ώρες\ απασχόλησης\ και\ το\ ύψος\ των\ αποδοχών\ αντίστοιχα,\ ανάλογα\ με\ τη\ διαφοροποίηση.</td> 197 puts </tr> 198 puts <tr> 165

167 199 puts <td\ align="justify">6γ.\ Σε\ περίπτωση\ που\ διοριστεί\ τακτικό\ μέλος\ Ε.Π.\ ή\ Ε.ΔΙ.Π.\ κατά\ τη\ διάρκεια\ της\ σύμβασης,\ σε\ γνωστικό\ αντικείμενο\ ή\ ειδικότητα\ μαθήματος,\ που\ έχει\ ανατεθεί\ στο\ δεύτερο\ συμβαλλόμενο,\ το\ μάθημα\ αυτό\ ανατίθεται\ στο\ τακτικό\ μέλος\ και\ αυτοδίκαια\ παύει\ για\ το\ μάθημα\ αυτό\ η\ ανάθεση\ από\ το\ επόμενο\ εξάμηνο\ ως\ και\ κάθε\ δικαίωμα\ που\ απορρέει\ από\ την\ ανάθεση\ αυτή.</td> 200 puts </tr> 201 puts <tr> 202 puts <td\ align="justify">7.\ Με\ την\ παρούσα\ σύμβαση\ ο\ δεύτερος\ συμβαλλόμενος\ δηλώνει\ ότι</td> 203 puts </tr> 204 puts <tr> 205 puts <td\ align="justify">α.\ το\ ωράριο\ απασχόλησής\ του\ στο\ Τ.Ε.Ι.\ Καβάλας\ ή\ σε\ όποιο\ άλλο\ Τ.Ε.Ι.\ δεν\ υπερβαίνει\ σωρευτικά\ τις\ ώρες\ που\ κατά\ περίπτωση\ προβλέπονται\ για\ τους\ Συνεργάτες\ ή\ τους\ ΕΕΜ\ σύμφωνα\ με\ τις\ διατάξεις\ του\ άρθρου\ 19\ του\ ν.\ 1404/1983\ και\ ειδικότερα\ γνωρίζει\ ότι\ το\ συνολικό\ ωράριο\ απασχόλησης\ στο\ παρόν\ Τ.Ε.Ι.\ καθώς\ και\ σε\ όποιο\ άλλο\ Τ.Ε.Ι.\ της\ χώρας\ δεν\ μπορεί\ να\ είναι\ μεγαλύτερο\ από\ 12\ ώρες\ ανά\ εβδομάδα\ για\ τους\ Επιστημονικούς\ Συνεργάτες\ ή\ 15\ για\ τους\ Εργαστηριακούς\ Συνεργάτες\ και\ τους\ ΕΕΜ.</td> 205 puts </tr> 206 puts <tr> 207 puts <td\ align="justify">β.\ δεν\ συντρέχουν\ στο\ πρόσωπό\ του\ οι\ περιορισμοί\ του\ άρθρου\ 19\ παράγραφος\ 6\ του\ ν.\ 1404/1983\ και\ αν\ συντρέχουν\ έχει\ την\ άδεια\ της\ υπηρεσίας\ του\ και\ δεν\ έχει\ ωράριο\ απασχόλησης\ άνω\ των\ πέντε(5)\ εβδομαδιαίων\ ωρών.</td> 208 puts </tr> 209 puts <tr> 210 puts <td\ align="justify">γ.\ έχει\ λάβει\ γνώση\ του\ ωρολογίου\ προγράμματος\ των\ μαθημάτων\ που\ πρόκειται\ να\ διδάξει\ και\ δύναται\ να\ ανταποκριθεί\ σε\ αυτό\ και\ αν\ ειδικότερα\ το\ ωράριό\ του\ συμπίπτει\ με\ το\ ωράριο\ ετέρας\ απασχόλησής\ του\ έχει\ την\ άδεια\ της\ ετέρας\ υπηρεσίας\ του\ να\ προσφέρει\ κατά\ τις\ υπόψη\ ώρες\ την\ εργασία\ του\ στο\ Τ.Ε.Ι.\ Καβάλας.</td> 211 puts </tr> 212 puts <tr> 213 puts <td\ align="justify">8.\ Σε\ περίπτωση\ που\ για\ οποιοδήποτε\ λόγο\ ο\ δεύτερος\ συμβαλλόμενος\ δεν\ εκτελέσει\ το\ ωράριο\ ή\ μέρος\ του\ ωραρίου\ που\ του\ έχει\ ανατεθεί\ οφείλει\ να\ ενημερώσει\ αμέσως\ και\ εγγράφως\ δια\ της\ οικείας\ γραμματείας\ τον\ Προϊστάμενο\ του\ Τμήματος.</td> 214 puts </tr> 215 puts <tr> 216 puts <td\ align="justify">9.\ Η\ σύμβαση\ αυτή\ μπορεί\ να\ καταγγελθεί\ οποτεδήποτε\ για\ αποδεδειγμένη\ ανεπάρκεια\ ή\ πλημμελή\ εκτέλεση\ των\ καθηκόντων\ αυτού\ που\ προσλαμβάνεται\ ή\ για\ σοβαρό\ λόγο,\ μη\ τήρησης\ σχετικών\ διατάξεων\ της\ εργατικής\ νομοθεσίας\ και\ του\ άρθρου\ 4\ του\ Π.Δ.\ 163/2002.\ Αδικαιολόγητη\ απουσία\ από\ τα\ μαθήματα\ πάνω\ από\ το\ 5%\ των\ συνολικών\ ωρών\ απασχόλησης\ μέσα\ στο\ εξάμηνο\ συνιστά\ λόγο\ καταγγελίας\ της\ σύμβασης.</td> 217 puts </tr> 218 puts <tr> 219 puts <td\ align="justify">10.σε\ περίπτωση\ που\ κάποιο\ μάθημα\ δεν\ πραγματοποιηθεί,\ για\ λόγους\ που\ δεν\ οφείλονται\ στην\ υπαιτιότητα\ του\ εκπαιδευτικού,\ η\ αμοιβή\ καταβάλλεται.</td> 220 puts </tr> 221 puts <tr> 166

168 222 puts <td\ align="justify">11.\ Ο\ αποδεχόμενος\ να\ υπογράψει\ τη\ σύμβαση\ έκτακτος\ εκπαιδευτικός\ αυτοδίκαια\ αποδέχεται\ και\ για\ τον\ ίδιο\ την\ ισχύ\ όλων\ των\ πειθαρχικών\ διατάξεων\ που\ ισχύουν\ και\ για\ το\ τακτικό\ εκπαιδευτικό\ προσωπικό\ του\ ΤΕΙ\ Καβάλας\ και\ όσων\ ρυθμίσεων\ προβλέπει\ το\ Π.Δ.\ 163/2002.</td> 223 puts </tr> 224 puts <tr> 225 puts <td\ align="justify">12.\ Ο\ αντισυμβαλλόμενος\ (δεύτερος\ συμβαλλόμενος)\ δηλώνει\ ότι\ αποδέχεται\ όλους\ τους\ όρους\ της\ σύμβασης\ αυτής.</td> 226 puts </tr> 227 puts <tr> 228 puts <td\ align="justify">13.\ Η\ σύμβαση\ αυτή\ υπογράφεται\ σε\ τρία\ αντίτυπα\ από\ τα\ οποία\ το\ ένα\ παίρνει\ ο\ έκτακτος\ εκπαιδευτικός.</td> 229 puts </tr> 230 puts </table> 231 puts <table\ border="0"\ align="center"\ width=650> 232 puts <tr> 233 puts <td>&nbsp</td> 234 puts <td\ align="center">καβάλα\ [lindex [lindex $f1 0] 1]</td> 235 puts </tr> 236 puts <tr> 237 puts <td>&nbsp</td> 238 puts <td>&nbsp</td> 239 puts </tr> 240 puts <tr> 241 puts <td>&nbsp</td> 242 puts <td>&nbsp</td> 243 puts </tr> 244 puts <tr> 245 puts <td\ align="center>">\ Ο\ πρώτος\ συμβαλλόμενος 246 puts <td\ align="center">ο\ δεύτερος\ συμβαλλόμενος 247 puts </tr> 248 puts <tr> 249 puts <td>&nbsp</td> 250 puts <td>&nbsp</td> 251 puts </tr> 252 puts <tr> 253 puts <td>&nbsp</td> 254 puts <td>&nbsp</td> 255 puts </tr> 256 puts <tr> 257 puts <td\ align="left">αναστάσιος\ Μπόγλου</td> 258 puts <td\ align="center">[lindex [lindex $f2 0] 11]\ [lindex [lindex $f2 0] 12] 259 puts </tr> 260 puts <tr> 261 puts <td\ colspan="2"\ align="left>πρόεδεος\ του\ Τ.Ε.Ι.\ Καβάλας</td> 262 puts </tr> 263 puts <tr> 264 puts <td>&nbsp</td> 265 puts <td>&nbsp</td> 266 puts </tr> 267 puts <tr> 268 puts <td>&nbsp</td> 269 puts <td>&nbsp</td> 270 puts </tr> 271 puts <tr> 272 puts <td>&nbsp</td> 167

169 273 puts <td>&nbsp</td> 274 puts </tr> 275 </table> 276 puts </td> 277 puts </tr> 278 puts </table> 279 </body> 280 </html> bebeoseis.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 puts <html> 9 puts <head> 10 puts <title>βεβαιωση\ ΠΡΟΫΠΗΡΕΣΙΑΣ\ ΑΝΑΖΗΤΗΣΗ\ </title> 11 puts </head> 12 puts <body\ bgcolor="#d9f2ff"> 13 puts <form\ action="veveosis1.tcl"\ method="post"> 14 puts <table\ align="center"> 15 puts <tr> 16 puts <td\ colspan="2"\ align="center"><p><b>πληκτρολογηστε\ ΤΟ\ ΟΝΟΜΑ\ ΤΟΥ\ ΚΑΘΗΓΗΤΗ</b></p> 17 puts </tr> 18 puts <tr> 19 puts <td\ colspan="2">&nbsp 20 puts </tr> 21 puts <TR> 22 puts <TD\ align="center">\ Όνομα\ </TD> 23 puts <TD\ align="center"><input\ type="text"\ name="a"></td> 24 puts </TR> 25 puts <TR> 26 puts <TD\ align="center">\ Επήθετο\ </TD> 27 puts <TD\ align="center"><input\ type="text"\ name="b"></td> 28 puts </TR> 29 puts <TR> 168

170 30 puts <td\ colspan="2"\ align="center"><input\ type="submit"\ value="αναζητηση"></td> 31 puts </TR> 32 puts </table></form></body></html> veveosis1.tcl 1 #!/usr/local/activetcl/bin/tclsh 2 # 3 puts "Content-type: text/html\n\n" 4 source script.tcl 5 load./fbsql 6 sql connect localhost teachman sql "use teachman" 8 set ln [sql "select l_name,f_name,id from teacher where (l_name like \"%$b%\")&&(f_name like \"%$a%\")"] 9 foreach z $ln { 10 set lo [sql "select akadetos from mathima where id_teacher=[lindex $z 2] group by akadetos"] 11 } 12 puts <html> 13 puts <head> 14 puts <title>επιλογη\ ΚΑΘΗΓΗΤΗ</title> 15 puts </head> 16 puts <body\ bgcolor="#d9f2ff"> 17 puts <form\ action="veveosis2.tcl"\ method="post"> 18 puts <table\ align="center"> 19 puts <tr> 20 puts <td\ alig="right">επιλογη\ ΚΑΘΗΓΗΤΗ</td> 21 puts <td><select\ name="names"> 22 foreach y $ln { 23 puts <option\ value="[lindex $y 2]">[lindex $y 0]\ [lindex $y 1]\ [lindex $y 2] 24 } 25 puts </select> 26 puts </tr> 27 puts <tr> 28 puts <td\ align="right">ακαδημαϊκο\ ΕΤΟΣ</td> 29 puts <td><select\ name="ho"> 30 foreach e $lo { 31 puts <option\ value="[lindex $e 0]">[lindex $e 0] 169

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ. Κεφάλαιο 5. Αλληλεπιδραστικές ιστοσελίδες (χρήση ετικέτας <FORM> και η τεχνική CGI)

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ. Κεφάλαιο 5. Αλληλεπιδραστικές ιστοσελίδες (χρήση ετικέτας <FORM> και η τεχνική CGI) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 5. Αλληλεπιδραστικές ιστοσελίδες (χρήση ετικέτας και η τεχνική CGI) Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 ΦΟΡΜΕΣ (FORM) Είναι ο κύριος

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης

TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης Χειμερινό εξάμηνο 2011-2012 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

Οδηγίες Χρήσης της εφαρμογής Class-Web

Οδηγίες Χρήσης της εφαρμογής Class-Web ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΚΕΝΤΡΟ ΥΠΟΛΟΓΙΣΤΩΝ & ΔΙΚΤΥΩΝ Εγνατία 156, 54006, Θεσσαλονίκη Τηλ.: 2310 891800 e-mail: help@uom.gr Οδηγίες Χρήσης της εφαρμογής Class-Web Ημερομηνία: 3 Οκτωβρίου 2012, Έκδοση 1.3

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 25 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ψηφιακής

Διαβάστε περισσότερα

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Υποβολή Αναλώσιµων Υλικών Σελίδα 1 Πίνακας περιεχομένων 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 2 Υποβολή Αναλώσιμων Υλικών... 4 2.1 Σύνδεση με

Διαβάστε περισσότερα

Εγχειρίδιο Χρήστη Φάση 1: Καταχώρηση Ειδικοτήτων

Εγχειρίδιο Χρήστη Φάση 1: Καταχώρηση Ειδικοτήτων ΦΟΡΕΑΣ: ΙΝΣΤΙΤΟΥΤΟ ΔΙΑΡΚΟΥΣ ΕΚΠΑΙΔΕΥΣΗΣ ΕΝΗΛΙΚΩΝ ΕΡΓΟ: «Υλοποίηση Πληροφοριακού συστήματος για την Υποστήριξη του Έργου Διαχείρισης των Δημοσίων Ι.Ε.Κ.» Εγχειρίδιο Χρήστη Φάση 1: Καταχώρηση Ειδικοτήτων

Διαβάστε περισσότερα

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου "Σύζευξις" -1-

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου Σύζευξις -1- -1- 1 Διαχείριση Χρηστών...3 1.1 Υπηρεσίες...5 1.1.1 Δημιουργία νέου χρήστη...6 1.1.2 Αναζήτηση χρήστη...7 1.1.2 Επεξεργασία στοιχείων χρήστη...8 1.1.3 Δημιουργία /Επεξεργασία mailbox plan...10 1.1.4 Ενεργοποίηση

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Κέντρο Επαγγελματικής Κατάρτισης. Σταδίου 5, 10562 Σύνταγμα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Κέντρο Επαγγελματικής Κατάρτισης. Σταδίου 5, 10562 Σύνταγμα Σύστημα Διαχείρισης Εκπαίδευσης Εγχειρίδιο Χρήσης Εκπαιδευόμενου Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Κέντρο Επαγγελματικής Κατάρτισης Σταδίου 5, 10562 Σύνταγμα τηλ.: 210-3689381, 210-3689354 fax:

Διαβάστε περισσότερα

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή 1. Δημιουργία Αίτησης Εισαγωγής Μεταπτυχιακού / Διδακτορικού Φοιτητή 1.1 Συμπλήρωση Αίτησης Εισαγωγής Φοιτητή από την Δικτυακή Πύλη 1.1.1. Σκοπός Οι

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR Τηλέφωνο: 2810-211111 Διαδικασία εισόδου στο opensms Η πρόσβαση στην πλατφόρμα του opensms πραγματοποιείται με την εισαγωγή του Ονόματος χρήστη και του

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα

Οδηγός χρήσης για Σύστημα κρατήσεων εργαστηριών

Οδηγός χρήσης για Σύστημα κρατήσεων εργαστηριών Οδηγός χρήσης για Σύστημα κρατήσεων εργαστηριών ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/69 09-02-2015 Περιεχόμενα Περιεχόμενα... 2 ΣΚΟΠΟΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 3 ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 4 Πρόγραμμα Κρατήσεων...

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ ΠΕΡΙΕΧΟΜΕΝΑ 1.Γενικές παρατηρήσεις... 3 1.2 Είσοδος στην εφαρμογή... 4 2. Πίνακας αναφορών... 5 2.1 Περιγραφή του πίνακα αναφορών... 6 2.3 Ταξινόμηση... 6 3. Προσθήκη/επεξεργασία

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης: Εφαρμογή Αιτήσεων για τα Εκπαιδευτικά Προγράμματα του Ε.Φ.Ε.Τ.

Εγχειρίδιο Χρήσης: Εφαρμογή Αιτήσεων για τα Εκπαιδευτικά Προγράμματα του Ε.Φ.Ε.Τ. Εγχειρίδιο Χρήσης: Εφαρμογή Αιτήσεων για τα Εκπαιδευτικά Προγράμματα του Ε.Φ.Ε.Τ. ΕΚΔΟΣΗ 1.0.6 Σελίδα 2 από 10 Περιεχόμενα Εφαρμογή Αιτήσεων για τα Εκπαιδευτικά Προγράμματα του Ε.Φ.Ε.Τ.... 4 1.1 Εισαγωγή

Διαβάστε περισσότερα

Συμπλήρωση μηχανογραφικού δελτίου 2013

Συμπλήρωση μηχανογραφικού δελτίου 2013 Συμπλήρωση μηχανογραφικού δελτίου 2013 1 Δικαιούχοι υποβολής μηχανογραφικού 2 Υποψήφιοι ΓΕ.Λ και ΕΠΑΛ-Β για το 90% των θέσεων που πήραν βεβαίωση πρόσβασης το 2013. Υποψήφιοι ΓΕ.Λ και ΕΠΑΛ-Β για το 10%

Διαβάστε περισσότερα

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Οδηγίες κατάθεσης εργασίας στο σύστημα διαχείρισης αποθετηρίου DSpace 2 Κατάθεση εργασίας στο σύστημα Ιδρυματικού Αποθετηρίου 1. Είσοδος στο σύστημα 1. Ανοίγουμε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑ ΚΡΑΤΗΣΕΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/69

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑ ΚΡΑΤΗΣΕΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/69 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑ ΚΡΑΤΗΣΕΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/69 15/10/2012 Περιεχόμενα ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΣΚΟΠΟΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών, Τμήμα Πληροφορικής και Επικοινωνιών Προγραμματιστικές Εφαρμογές στο Διαδίκτυο (Θ) Τελική Εξέταση Διδάσκων: Δ. Κοτζίνος Όνοµα: Α.Μ. : Εξάµηνο : Αίθουσα Έδωσα Project

Διαβάστε περισσότερα

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ Draft version Θεσσαλονίκη, Ιούλιος 2016 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 4 1. ΓΕΝΙΚΑ... 5 1.1. Πρόσβαση... 5 1.2. Χρήστες... 5 2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΗΜΑ... 6 2.1.

Διαβάστε περισσότερα

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Αναγγελία Εισιτηρίων - εξιτηρίων ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Αναγγελία Εισιτηρίων - Εξιτηρίων. Σελίδα 1

Αναγγελία Εισιτηρίων - εξιτηρίων ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Αναγγελία Εισιτηρίων - Εξιτηρίων. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Αναγγελία Εισιτηρίων - Εξιτηρίων Σελίδα 1 Πίνακας περιεχομένων 1.Εισαγωγή... 4 1.1 Συμβατότητα Browser... 4 1.2 Διεύθυνση πρόσβασης... 4 2 ΑΝΑΓΓΕΛΙΑ ΕΙΣΙΤΗΡΙΩΝ

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΣΥΣΤΗΜΑΤΟΣ ΑΓΡΟΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΕΝΙΣΧΥΣΕΩΝ. Μέτρο 2.2.1

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΣΥΣΤΗΜΑΤΟΣ ΑΓΡΟΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΕΝΙΣΧΥΣΕΩΝ. Μέτρο 2.2.1 On line ΔΗΛΩΣΗ ΕΦΑΡΜΟΓΗΣ Μέτρο 2.2.1 ΙΑΝΟΥΑΡΙΟΣ 2017 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1 ΓΕΝΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ... 3 1.1 Υποχρεωτικά Πεδία... 3 1.2 Βοηθητική Λίστα Τιμών (drop down list)... 3 1.3 Αναζήτηση... 3 1.3.1

Διαβάστε περισσότερα

Διαχείριση περιεχομένου πύλης ηλεκτρονικών υπηρεσιών v10 v.1.0. [User manual]

Διαχείριση περιεχομένου πύλης ηλεκτρονικών υπηρεσιών v10 v.1.0. [User manual] Διαχείριση περιεχομένου πύλης ηλεκτρονικών υπηρεσιών v10 v.1.0. [User manual] Υπουργείου Υ Υγείας Κύπρου 1 Είσοδος στο χώρο διαχείρισης To CMS (Content tmanagementsystem) πάνω στο οποίο βασίζεται η διαδικτυακή

Διαβάστε περισσότερα

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

Διαβάστε περισσότερα

Επαναληπτική Άσκηση ΕΤΙΚΕΤΕΣ HTML

Επαναληπτική Άσκηση ΕΤΙΚΕΤΕΣ HTML Επαναληπτική Άσκηση ΕΤΙΚΕΤΕΣ HTML ΕΤΙΚΕΤΑ ΠΕΡΙΓΡΑΦΗ ΙΔΙΟΤΗΤΕΣ ΙΔΙΟΤΗΤΑ ΤΙΜΗ ΠΕΡΙΓΡΑΦΗ Βασικές Ορίζει ένα αρχείο HTML Ορίζει ένα τίτλο για το αρχείο Ορίζει το σώµα της background URL

Διαβάστε περισσότερα

TUTORIAL VERSION: 1.0

TUTORIAL VERSION: 1.0 FC1 TUTORIAL VERSION: 1.0 1 LOGIN Η ΟΜΑΔΑ ΕΠΕΞΕΡΓΑΣΙΑ ΟΜΑΔΑΣ ROSTER ΚΑΡΤΕΛΑ ΠΑΙΚΤΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΙΚΤΗ ΕΙΣΑΓΩΓΗ ATTRIBUTES ΙΣΤΟΡΙΚΟ ΕΞΕΤΑΣΕΙΣ Δημιουργία Εξέτασης Επεξεργασία και Προβολή Εξέτασης Διαγραφή

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

Διαβάστε περισσότερα

Ιδρυματικό Αποθετήριο ΤΕΙ ΠΕΙΡΑΙΑ

Ιδρυματικό Αποθετήριο ΤΕΙ ΠΕΙΡΑΙΑ Ιδρυματικό Αποθετήριο ΤΕΙ ΠΕΙΡΑΙΑ Οδηγίες κατάθεσης εργασίας στο σύστημα διαχείρισης αποθετηρίου DSpace 2 Κατάθεση εργασίας στο σύστημαdspace 1. Είσοδος στο σύστημα 1. Ανοίγουμε ένα γνωστό φυλλομετρητή

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης για τον φοιτητή

Εγχειρίδιο χρήσης για τον φοιτητή Εγχειρίδιο χρήσης για τον φοιτητή 1 Αρχική οθόνη Όταν κάποιος χρήστης εισέρχεται για πρώτη φορά στο σύστημα εμφανίζεται η παρακάτω οθόνη/σελίδα: Στα αριστερά της οθόνης εμφανίζεται η φόρμα σύνδεσης στην

Διαβάστε περισσότερα

Διαδικτυακή Εφαρμογή Διαχείρισης Προσωπικού. Εγχειρίδιο χρήσης

Διαδικτυακή Εφαρμογή Διαχείρισης Προσωπικού. Εγχειρίδιο χρήσης Διαδικτυακή Εφαρμογή Διαχείρισης Προσωπικού Εγχειρίδιο χρήσης Φεβρουάριος 2017 Περιεχόμενα Α. ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ...3 Α1. Σκοπός εφαρμογής... 3 Α2. Είσοδος στην Εφαρμογή... 3 Β. ΕΠΙΛΟΓΕΣ...4 Β1.Αιτήσεις...

Διαβάστε περισσότερα

Εγχειρίδιο Χρήστη Φάση 2: Αρχική Καταχώρηση Συµβάσεων

Εγχειρίδιο Χρήστη Φάση 2: Αρχική Καταχώρηση Συµβάσεων ΦΟΡΕΑΣ: ΙΝΣΤΙΤΟΥΤΟ ΙΑΡΚΟΥΣ ΕΚΠΑΙ ΕΥΣΗΣ ΕΝΗΛΙΚΩΝ ΕΡΓΟ: «Υλοποίηση Πληροφοριακού συστήµατος για την Υποστήριξη του Έργου ιαχείρισης των ηµοσίων Ι.Ε.Κ.» Εγχειρίδιο Χρήστη Φάση 2: Αρχική Καταχώρηση Συµβάσεων

Διαβάστε περισσότερα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

Αναλυτικά Φύλλα Μισθοδοσίας

Αναλυτικά Φύλλα Μισθοδοσίας Αναλυτικά Φύλλα Μισθοδοσίας Εγχειρίδιο Χρήσης ΚΕΠΥΕΣ 1 Περιεχόμενα ` ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ... 3 ΕΓΓΡΑΦΗ ΣΤΗΝ ΥΠΗΡΕΣΙΑ... 3 ΕΦΑΡΜΟΓΗ ΑΝΑΛΥΤΙΚΩΝ ΦΥΛΛΩΝ ΜΙΣΘΟΔΟΣΙΑΣ... 8 ΑΛΛΑΓΕΣ ΚΑΙ ΑΝΑΚΤΗΣΕΙΣ... 12 Αλλαγή Email...

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΣΕΩΝ & ΑΔΕΙΩΝ ΠΡΟΣΩΠΙΚΟΥ

ΥΠΗΡΕΣΙΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΣΕΩΝ & ΑΔΕΙΩΝ ΠΡΟΣΩΠΙΚΟΥ ΥΠΗΡΕΣΙΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΣΕΩΝ & ΑΔΕΙΩΝ ΠΡΟΣΩΠΙΚΟΥ Η Υπηρεσία διαχείρισης αιτήσεων & αδειών προσωπικού δίνει τη δυνατότητα στους συναλλασσόμενους με τη Διοικητική Υπηρεσία του Ιδρύματος να

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ

4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ 4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ Αυτή η ενότητα αποτελεί έναν εκτενή οδηγό χρήσης του συστήµατος που αναπτύχθηκε και περιλαµβάνει αναλυτική περιγραφή βήµα προς βήµα όλων των δειργασιών που µπορούν να εκτελεστούν από

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ

Διαβάστε περισσότερα

ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ V 1.2

ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ V 1.2 ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ V 1.2 Δεκέμβριος 2012 Πίνακας Περιεχομένων 1. Εισαγωγή.. σελ. 3 2. Σύνδεση για πρώτη φορά με την εφαρμογή 4 3. Είσοδος στην εφαρμογή 9 4. Αναζήτηση

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb)

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) 1. Είσοδος στην υπηρεσία ClassWeb Στη κεντρική σελίδα της υπηρεσίας στα πεδία Όνομα Χρήστη και Κωδικός πρόσβασης πληκτρολογούμε τα στοιχεία

Διαβάστε περισσότερα

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ 1 ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ ΚΑΤΑΓΡΑΦΗΣ ΥΠΗΡΕΣΙΩΝ ΕΠΙΧΕΙΡΗΣΗΣ ΛΙΑΝΙΚΗΣ ΠΩΛΗΣΗΣ ΕΠΙΒΛΕΠΩΝ

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η χρησιμοποίηση κάποιων εφαρμογών που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

Σύστημα γνωστοποίησης διακίνησης φαρμάκων ανθρώπινης χρήσης Εγχειρίδιο χρήσης του συστήματος. Έκδοση

Σύστημα γνωστοποίησης διακίνησης φαρμάκων ανθρώπινης χρήσης Εγχειρίδιο χρήσης του συστήματος. Έκδοση Σύστημα γνωστοποίησης διακίνησης φαρμάκων ανθρώπινης χρήσης Εγχειρίδιο χρήσης του συστήματος Έκδοση 1.0 2018 1 Είσοδος στο σύστημα Από το menu On line υπηρεσίες του Οργανισμού επιλέγεται η Γνωστοποίηση

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ 1. Γενικά ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ Η ηλεκτρονική υποβολή των ισοζυγίων κρέατος πραγματοποιείται μέσα από το λογισμικό Άρτεμις του Ελληνικού Γεωργικού Οργανισμού

Διαβάστε περισσότερα

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες Συλλογή και Επεξεργασία Δεδομένων με Φόρμες Οι φόρμες αποτελούν τον πιο δημοφιλή τρόπο για τη συλλογή δεδομένων μέσω του World Wide Web (WWW). Επιτρέπουν στους χρήστες να επικοινωνούν με τη βοήθεια του

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Εφαρμογή κατασκευής Προγράμματος εξεταστικών περιόδων. εφαρμογής

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Εφαρμογή κατασκευής Προγράμματος εξεταστικών περιόδων. εφαρμογής «Εφαρμογή κατασκευής προγράμματος εξεταστικών περιόδων» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ Κεντρική σελίδα της εφαρμογής 1 Περιεχόμενα Κεντρική σελίδα της εφαρμογής... 3 Σελίδα διαχείρισης καθηγητών... 4 Σελίδα διαχείρισης

Διαβάστε περισσότερα

Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου. (Έκδοση: 9.0)

Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου. (Έκδοση: 9.0) Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου (Έκδοση: 9.0) Δεκέμβριος 2016 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή... 3 Συμβατότητα Browser για τη χρήση της Εφαρμογής... 3 Α. Είσοδος με κωδικούς TaxisNet... 9 Β. Είσοδος

Διαβάστε περισσότερα

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Έκδοση 1.3 Ιούνιος 2014 Περιεχόμενα Εφαρμογή Διαχείρισης Τηλεδιασκέψεων... 2 Προβολή τηλεδιασκέψεων... 3 Προσθήκη τηλεδιάσκεψης... 4 Τροποποίηση

Διαβάστε περισσότερα

Εύδοξος - Δήλωση Συγγραμμάτων

Εύδοξος - Δήλωση Συγγραμμάτων Εύδοξος - Δήλωση Συγγραμμάτων Το πρόγραμμα «Εύδοξος» αφορά στη διανομή Συγγραμμάτων των Τεχνολογικών και Πανεπιστημιακών Ιδρυμάτων της Επικράτειας. Στόχος του Πληροφοριακού Συστήματος (ΠΣ) της Δράσης είναι

Διαβάστε περισσότερα

«Διαδικτυακή Εφαρμογή Διαχείρισης Αιθουσιολογίου-Ημερολογίου»

«Διαδικτυακή Εφαρμογή Διαχείρισης Αιθουσιολογίου-Ημερολογίου» ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή εργασία «Διαδικτυακή Εφαρμογή Διαχείρισης Αιθουσιολογίου-Ημερολογίου» Του φοιτητή Κουρτέση Ντάνιελ-Αποστόλου Αρ.

Διαβάστε περισσότερα

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Συσχέτιση πινάκων (εισαγωγή ξένων κλειδιών) Δρ. Μαρία Ευθυμιοπούλου 1. Εμφάνιση πινάκων στο Workspace Στο προηγούμενο εργαστήριο

Διαβάστε περισσότερα

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MySQL Manager Αναλυτικός οδηγός χρήσης: MySQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail &

Διαβάστε περισσότερα

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ Οδηγός Χρήσης Εφαρμογής Γραφείων Πρακτικής Άσκησης Αφού πιστοποιηθεί ο λογαριασμός που δημιουργήσατε στο πρόγραμμα «Άτλας» ως Γραφείο Πρακτικής,

Διαβάστε περισσότερα

ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ

ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ ΥΠ.ΕΣ. - Δ.Μ.Η.Ε.Σ. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΛΗΞΙΑΡΧΕΙΟΥ V 1.0 Δεκέμβριος 2012 Πίνακας Περιεχομένων 1. Εισαγωγή.. σελ. 3 2. Σύνδεση για πρώτη φορά με την εφαρμογή 4 3. Είσοδος στην εφαρμογή 9 4. Αναζήτηση

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 - - 2 - ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING Περιεχόµενα Εγκατάσταση λογισµικού Οθόνη καλωσορίσµατος στην εγκατάσταση...4 Πληροφορίες ιδρύµατος και λογισµικού...5 ηµιουργία συντόµευσης στο µενού έναρξης

Διαβάστε περισσότερα

Μεταβίβαση Δικαιωμάτων Ενιαίας Ενίσχυσης Εγχειρίδιο Εφαρμογής (SUD)

Μεταβίβαση Δικαιωμάτων Ενιαίας Ενίσχυσης Εγχειρίδιο Εφαρμογής (SUD) ΕΓΧΕΙΡΙΔΙΟ ΕΦΑΡΜΟΓΗΣ 1 (18) Εγχειρίδιο ς (SUD) ΕΓΧΕΙΡΙΔΙΟ ΕΦΑΡΜΟΓΗΣ 2 (18) Copyright 2013 - Με επιφύλαξη κάθε δικαιώματος. Περιεχόμενα 1 Εισαγωγή... 3 1.1 Σκοπός... 3 Έκταση... 3 1.3 Ορισμοί, ακρώνυμα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ «ΨΗΦΙΑΚΩΝ ΑΡΘΡΩΝ» ΜΕ ΧΡΗΣΗ ΚΑΙ ΜΕΘΟΔΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΔΙΑΔΙΚΤΥΟΥ HTML, JAVASCRIPT,

Διαβάστε περισσότερα

1. Απαιτήσεις εργασίας

1. Απαιτήσεις εργασίας ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ Τμήμα Πολιτισμικής Τεχνολογίας & Επικοινωνίας 2 η Εργασία στο μάθημα «Δικτυακά Πολυμέσα Ι»: «Δημιουργία φόρμας για καταχώρηση στοιχείων με HTML - Javascript» Ημερομηνία παράδοσης:

Διαβάστε περισσότερα

Οδηγός Εγγραφής και Χρήσης Εφαρμογής. Διαχειριστής Ιδρύματος

Οδηγός Εγγραφής και Χρήσης Εφαρμογής. Διαχειριστής Ιδρύματος Οδηγός Εγγραφής και Χρήσης Εφαρμογής Διαχειριστής Ιδρύματος 1 Δημιουργία λογαριασμού και Είσοδος στο σύστημα Για να εγγραφείτε στο Πληροφοριακό Σύστημα «Απέλλα» ως Διαχειριστής Ιδρύματος θα πρέπει να δημιουργήσετε

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

ΑΚΑΔΗΜΑΪΚΟ PORTAL ΚΑΤΑΧΩΡΙΣΗΣ ΒΑΘΜΟΛΟΓΙΩΝ

ΑΚΑΔΗΜΑΪΚΟ PORTAL ΚΑΤΑΧΩΡΙΣΗΣ ΒΑΘΜΟΛΟΓΙΩΝ ΑΚΑΔΗΜΑΪΚΟ PORTAL ΚΑΤΑΧΩΡΙΣΗΣ ΒΑΘΜΟΛΟΓΙΩΝ ΙΕΚ ΑΚΜΗ ΑΚΑΔΗΜΑΪΚΟ PORTAL ΚΑΤΑΧΩΡΙΣΗΣ ΒΑΘΜΟΛΟΓΙΩΝ - Έκδοση 1.00-1- ΠΡΟΣΒΑΣΗ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ... 3 Απαιτήσεις εξοπλισμού... 3 Διεύθυνση ιστού Web address... 3 Διαδικασία

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ: ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ: ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΗΛΕΚΤΡΟΝΙΚΩΝ

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΕΓΓΡΑΦΗΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΕΦΑΡΜΟΓΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΕΓΓΡΑΦΗΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΕΓΓΡΑΦΗΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΣΕΛ. 2 ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1 ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ...

Διαβάστε περισσότερα

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη. Οδηγίες για καθηγητές Για τη χρήση του Turnitin απαιτούνται τα παρακάτω βήματα: 1. Δημιουργία λογαριασμού 2. Δημιουργία τάξης και διαχείριση πληροφοριών τάξης 3. Δημιουργία εργασίας και σχετικές ρυθμίσεις

Διαβάστε περισσότερα

Είσοδος στην εφαρμογή

Είσοδος στην εφαρμογή Είσοδος στην εφαρμογή Για να πραγματοποιηθεί είσοδος στο σύστημα, ο/η ιατρός πρέπει να έχει πραγματοποιήσει αρχικά συναλλαγή με το σύστημα πιστοποίησης των στοιχείων του/της και να έχει παραλάβει μοναδικό

Διαβάστε περισσότερα

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ ΕΘΝΙΚΟΝ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟΝ ΠΑΝΕΠΙΣΤΗΜΙΟΝ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ 2008-2013 ΠΑΡΑΡΤΗΜΑ ΧΙ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Οδηγίες χρήσης SoSimple

Οδηγίες χρήσης SoSimple Οδηγίες χρήσης SoSimple Διδακτική περίοδος 2019-2020 ΛΕΟΝΤΕΙΟΣ ΣΧΟΛΗ ΑΘΗΝΩΝ Οδηγίες χρήσης SoSimple / 2019-20 1 Περιεχόμενα 1. Είσοδος στην εφαρμογή και διαπιστευτήρια... 3 2. Χρήση της εφαρμογής... 4

Διαβάστε περισσότερα

ΠΑ-24γ Εγχειρίδιο Χρήσης Δ.Δ.Π. Του Δήμου Αιγάλεω

ΠΑ-24γ Εγχειρίδιο Χρήσης Δ.Δ.Π. Του Δήμου Αιγάλεω ΤΙΤΛΟΣ ΕΓΓΡΑΦΟΥ ΠΑ-24γ Εγχειρίδιο Χρήσης Δ.Δ.Π. Του Δήμου Αιγάλεω Έκδοση 1.0 12 Ιανουαρίου 2009 ΑΡΙΘΜΟΣ ΣΥΜΒΑΣΗΣ : 25978/04.08.2008 ΕΠΙΣΗΜΗ ΟΝΟΜΑΣΙΑ ΕΡΓΟΥ : Προσαρμογή, Ανάπτυξη, Έλεγχος και Εγκατάσταση

Διαβάστε περισσότερα

Ετικέτες HTML. <!-->: Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον

Ετικέτες HTML. <!-->: Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον Ετικέτες HTML : Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον πηγαίο κώδικα για να διευκολύνουμε την επεξεργασία και την συντήρηση του αρχείου. Τα σχόλια δεν εμφανίζονται στην οθόνη

Διαβάστε περισσότερα

Διαδικτυακή εφαρμογή για την ηλεκτρονική υποβολή γνωστοποιήσεων προϊόντων ειδικής διατροφής και συμπληρωμάτων διατροφής

Διαδικτυακή εφαρμογή για την ηλεκτρονική υποβολή γνωστοποιήσεων προϊόντων ειδικής διατροφής και συμπληρωμάτων διατροφής Διαδικτυακή εφαρμογή για την ηλεκτρονική υποβολή γνωστοποιήσεων προϊόντων ειδικής διατροφής και συμπληρωμάτων διατροφής Εγχειρίδιο Χρήσης Έκδοση 2.0.0 16/06/2015 Έκδοση 2.0.0 1 / 11 Κατάλογος περιεχομένων

Διαβάστε περισσότερα

Τ.Ε.Ι. Κεντρική Μακεδονίας Πύλη Διδακτικού Υλικού. Οδηγίες κατάθεσης διδακτικού υλικού στην Πύλη Διδακτικού Υλικού "Μελετητήριο"

Τ.Ε.Ι. Κεντρική Μακεδονίας Πύλη Διδακτικού Υλικού. Οδηγίες κατάθεσης διδακτικού υλικού στην Πύλη Διδακτικού Υλικού Μελετητήριο Τ.Ε.Ι. Κεντρική Μακεδονίας Πύλη Διδακτικού Υλικού Οδηγίες κατάθεσης διδακτικού υλικού στην Πύλη Διδακτικού Υλικού "Μελετητήριο" Κατάθεση διδακτικού υλικού στο "Μελετητήριο" 1. Είσοδος στο σύστημα 1. Ανοίγουμε

Διαβάστε περισσότερα

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης. Εκκίνηση εφαρµογής

Εγχειρίδιο χρήσης. Εκκίνηση εφαρµογής Εγχειρίδιο χρήσης Το παρόν εγχειρίδιο χρήσης περιέχει µία αναλυτική παρουσίαση των λειτουργιών της διαδικτυακής εφαρµογής που αφορά την παροχή µιας on-line βάσης δεδοµένων, στην οποία εξουσιοδοτηµένοι

Διαβάστε περισσότερα

Άσκηση 5 -Δηµιουργία ιστοσελίδων µε HTML µέρος 5 ο

Άσκηση 5 -Δηµιουργία ιστοσελίδων µε HTML µέρος 5 ο Άσκηση 5 -Δηµιουργία ιστοσελίδων µε HTML µέρος 5 ο HTML Φόρµες Για να δηµιουργήσουµε µια φόρµα στην οποία θα γράφουν σχόλια ή παρατηρήσεις οι επισκέπτες των σελίδων µας, χρειαζόµαστε την ετικέτα .

Διαβάστε περισσότερα

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ 1 ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ Π.6. ΕΓΧΕΙΡΙΔΙΑ ΜΗΤΡΩΟ ΑΜΕΑ ΥΠΟΣΥΣΤΗΜΑΤΑ ΕΡΓΟ: «ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΜΗΤΡΩΟΥ και ΕΚΠΑΙΔΕΥΣΗ» 2015

Διαβάστε περισσότερα

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ 2014 2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ H HTML είναι μία γλώσσα σήμανσης και αποτελεί την κύρια γλώσσα δημιουργίας ιστοσελίδων του διαδικτύου. Είναι το ακρωνύμιο των λέξεων HyperText

Διαβάστε περισσότερα

Alfaware Οδηγός Χρήσης Εφαρμογής (Software User Manual)

Alfaware Οδηγός Χρήσης Εφαρμογής (Software User Manual) Alfaware Οδηγός Χρήσης Εφαρμογής Δι@ύγεια (Software User Manual) Καλώς ήλθατε στο πρόγραμμα Διαύγεια Η εφαρμογή αυτή σχεδιάστηκε και αναπτύχθηκε από την ALFAWARE, με σκοπό να καλύψει πλήρως τις ανάγκες

Διαβάστε περισσότερα

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP Εργαστήριο 6 Προγραμματιστικές Εφαρμογές στο Διαδίκτυο Στόχος Στόχος του εργαστηρίου είναι η εισαγωγή στην γλώσσα PHP και η εξοικείωση των φοιτητών στην χρήση του Web Server για την εξυπηρέτηση σελίδων

Διαβάστε περισσότερα

Οδηγίες συμπλήρωσης αίτησης στην Εφαρμογή Πρόσληψης Εκτάκτου Προσωπικού.

Οδηγίες συμπλήρωσης αίτησης στην Εφαρμογή Πρόσληψης Εκτάκτου Προσωπικού. Οδηγίες συμπλήρωσης αίτησης στην Εφαρμογή Πρόσληψης Εκτάκτου Προσωπικού. Επισημάνσεις : Α. Για τα προγράμματα ΕΠΠΑΙΚ-ΠΕΣΥΠ μπορείτε να κάνετε αίτηση μόνο σε μια πόλη σύμφωνα με την προκήρυξη. Αίτηση σε

Διαβάστε περισσότερα

Εικονικό Εργαστήριο Χωρικής Ανάλυσης. Εγχειρίδιο Χρήστη ΤΕΙ ΑΘΗΝΑΣ

Εικονικό Εργαστήριο Χωρικής Ανάλυσης. Εγχειρίδιο Χρήστη ΤΕΙ ΑΘΗΝΑΣ Εικονικό Εργαστήριο Χωρικής Ανάλυσης Εγχειρίδιο Χρήστη ΤΕΙ ΑΘΗΝΑΣ Περιεχόμενα Εισαγωγή... 3 Είσοδος στο Σύστημα... 3 Εγγραφή Χρήστη... 4 Σύνδεση Χρήστη... 6 Επαναφορά Κωδικού Πρόσβασης... 7 Βασικά Χαρακτηριστικά...

Διαβάστε περισσότερα

Εγχειρίδιο λειτουργιών χρήστη (Σχολείο) στο Mathiteia4u

Εγχειρίδιο λειτουργιών χρήστη (Σχολείο) στο Mathiteia4u Εγχειρίδιο λειτουργιών χρήστη (Σχολείο) στο Mathiteia4u Μέσω της ηλεκτρονικής πύλης www.mathiteia4u.gov.gr δίνεται πρόσβαση σε ένα νέο πρόγραμμα για την στήριξη νέων που έχουν μόλις αποφοιτήσει από την

Διαβάστε περισσότερα

Διαχείριση Επαγγελματιών Εταιρίας

Διαχείριση Επαγγελματιών Εταιρίας Διαχείριση Επαγγελματιών Εταιρίας Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της Διαδικασίας Διαχείρισης Ελεύθερων Επαγγελματιών Εταιρίας. Παρακάτω προτείνεται μια αλληλουχία

Διαβάστε περισσότερα