Οπτικός Προγραμματισμός  Κάθε εφαρμογή του C++ Builder δηλώνει αυτόματα μία μεταβλητή “Application” της κλάσης “TApplication”. Η μεταβλητή αυτή αναπαριστά.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Από τη C στη C++ Hy240b project 2014 Phase 1.
Advertisements

Το αλφαριθμητικό (string)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
Οπτικός Προγραμματισμός  Περιέχει έτοιμα components υλοποίησης κοινών διαλόγων  OpenDialog : διάλογος για την επιλογή αρχείου για άνοιγμα.  SaveDialog.
Οπτικός Προγραμματισμός  Παράγεται από την κλάση TColorDialog. Επιτρέπει στον χρήστη την επιλογή χρώματος από τα βασικά χρώματα και τον καθορισμό ειδικών.
Οπτικός Προγραμματισμός  Παράγεται από την κλάση TStatusBar. Περιέχει έναν αριθμό από Panels που μπορούν να περιέχουν πληροφορίες για την κατάσταση του.
Οπτικός Προγραμματισμός  Παράγονται από την κλάση TForm. Αποτελούν components με μορφή “παραθύρου” που μπορούν να ενσωματώσουν άλλα components.  Ιδιότητες.
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Καθηγητής: Δ. Μπουτακίδης
Οπτικός Προγραμματισμός  Οι εφαρμογές οπτικού προγραμματισμού μπορούν να ακολουθούν ένα από τα παρα- κάτω τρία μοντέλα όσον αφορά το interface:  SDI.
Οπτικός Προγραμματισμός ( C++ Builder 5.0 )
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Λογισμικό: Δημιουργία εφαρμογών Επίπεδο.
Οπτικός Προγραμματισμός Published Properties (Object inspector)  Alignment : (taRightJustify, taLeftJustify) καθορίζει άν το Caption θα εμφανίζεται στα.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Γυμνάσιο Νέας Κυδωνίας
Αντικειμενοστραφής Προγραμματισμός
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Οπτικός Προγραμματισμός  Add to Project : Ενσωμάτωση σε ένα project ενός ήδη υπάρχοντος unit και της φόρμας του ή και άλλων αρχείων (.res,.pas, …). Το.
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
Επεξεργασία Κειμένου Ονομ/νυμο Επιμορφωτή Επιμορφωτής: Ονομ/νυμο Επιμορφωτή ΥΠΕΠΘ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» ΕΠΙΜΟΡΦΩΣΗ.
Στο λειτουργικό σύστημα Windows, υπάρχουν εικονίδια (icons) τα οποία αναπαριστούν τις διάφορες οντότητες (φυλαγμένες πληροφορίες, προγράμματα που κάνουν.
Εργαστήριο Εφαρμοσμένης Πληροφορικής
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
ΣΥΝΑΡΤΗΣΕΙΣ.
ΕΝΟΤΗΤΑ 3 – MS Windows – Περιβάλλον εργασίας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΤΗΣ ΦΟΙΤΗΤΡΙΑΣ : ΤΣΑΛΤΑ ΑΝΑΣΤΑΣΙΑ Α.Μ. : 30920
Εργασία με παράθυρα.
Δείκτες (Pointers) – Δομές (Structs)
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
XERTE TUTORIAL - ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΘΜΕΛ ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ Xerte Interaction – Διάδραση Θεωρίες Μάθησης & Εκπαιδευτικό Λογισμικό Σημειώσεις Εργαστηρίου.
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
Εύρεση και είσοδος σε κανάλι συνομιλίας Χρησιμοποιήστε την αναζήτηση του Lync για την εύρεση καναλιών στα οποία έχετε πρόσβαση. 1.Στο κύριο παράθυρο του.
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Κεφάλαιο 10 – Υποπρογράμματα
Microsoft Excel 4.3 Διαχείριση Φύλλων Εργασίας Κίκα Χρυσοστόμου.
Κεφάλαιο 4 Εξαιρέσεις. Όταν σε ένα πρόγραμμα συμβεί κάποιο λάθος, ο κώδικας εγείρει (throw) μία εξαίρεση. Στη Java oι εξαιρέσεις εκπροσωπούνται από αντικείμενα.
Δημιουργία προγράμματος ερωτηματολογίου Πολλαπλής Επιλογής Α. Σχεδίαση Φόρμας.
1Κεφάλαιο 4 Κανόνες Σύνταξης HTML Όλες οι ετικέτες εσωκλείονται μεταξύ των χαρακτήρων “ “. Κάθε τι που βρίσκεται μεταξύ των χαρακτήρων “ ”, αποτελεί σχόλιο.
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
Εφαρμογές Πολυμέσων: Εισαγωγή στην HTML (1)
ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧ/ΣΕΩΝ ΕΡΓΑΣΤΗΡΙΟ #1 ΔΔΕ. Έναρξη (Start)  Προγράμματα (Programs)  Minitab 12 for Windows.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ 1 ο ΕΡΓΑΣΤΗΡΙΟ: WINDOWS XP ΚΑΘΗΓΗΤΗΣ: ΓΡΗΓΟΡΙΟΣ Ν. ΚΑΡΑΤΑΣΙΟΣ.
ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ 2 ο ΕΡΓΑΣΤΗΡΙΟ: Μενού,Εντολές και Παράθυρα Διαλόγου Καθηγητής: Γρηγόριος Νικ. Καρατάσιος.
ΜΑΘΗΜΑ: ΣΥΓΧΡΟΝΟ ΛΟΓΙΣΜΙΚΟ ΟΡΓΑΝΩΣΗ ΓΡΑΦΕΙΟΥ 5 ο ΕΡΓΑΣΤΗΡΙΟ: ΕΓΚΑΤΑΣΤΑΣΗ ΕΚΤΥΠΩΤΩΝ ΚΑΘΗΓΗΤΗΣ: ΓΡΗΓΟΡΙΟΣ Ν. ΚΑΡΑΤΑΣΙΟΣ.
Κατανεμημένα Συστήματα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΠΡΟΧΩΡΗΜΕΝΕΣ ΤΕΧΝΙΚΕΣ
Κλάσεις και αντικείμενα
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Power Point (Συνέχεια).
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Web Services στη C# Εργαστήριο 3
Κεφάλαιο 10 Streams.
ΠΡΟΓΡΑΜΜΑ ΕΠΙΜΟΡΦΩΣΗΣ Β΄ΕΠΙΠΕΔΟ ΓΙΑ ΠΕ03
Σημειώσεις : Μιχάλης Φίλης
Φόρμες Φόρμες χρησιμοποιούνται για να δημιουργήσουμε ένα φιλικό περιβάλλον για την διαχείριση των δεδομένων της βάσης. Επίσης δίνεται η δυνατότητα δημιουργίας.
Εξαιρέσεις [Exceptions]
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

Οπτικός Προγραμματισμός  Κάθε εφαρμογή του C++ Builder δηλώνει αυτόματα μία μεταβλητή “Application” της κλάσης “TApplication”. Η μεταβλητή αυτή αναπαριστά την ίδια την εφαρμογή λειτουργώντας ως interface μεταξύ του προγραμ- ματιστή και του Λ.Σ. Περιέχει ιδιότητες, μεθόδους και συμβάντα για : 1.Επεξεργασία μηνυμάτων των Windows 2.Παροχή άμεσης βοήθειας σχετικής με το θέμα που επιλέγει ο χρήστης (context-sensitive help). 3.Διαχείριση πατημάτων πλήκτρων και συντομεύσεων επιλογών των μενού. 4.Διαχείριση Εξαιρέσεων. 5.Διαχείριση των θεμελιωδών τμημάτων που ορίζονται από τα Windows για μία εφαρμογή, όπως MainWindow, WindowClass κ.λ.π.  Δεν εμφανίζεται σε παλέτες component, δεν ενσωματώνεται σε εφαρμογές, δεν έχει δημοσιευμένες ιδιότητες. Ορισμένες ιδιότητες καθορίζονται μέσω των Project->Options. Μπορούμε να χειριστούμε τα συμβάντα του ενσωματώνοντας στην εφαρμογή ένα “TApplication Events” component.

Οπτικός Προγραμματισμός  Active (bool) : μας δείχνει άν η εφαρμογή έχει το focus του χρήστη.  ExeName (AnsiString) : το όνομα του εκτελέσιμου αρχείου της εφαρμογής.  Handle (HWND) : Δείκτης προς το κεντρικό παράθυρο της εφαρμογής. Χρησιμοποιείται σε κλήση συναρτήσεων WinAPI που χρειάζονται ως παράμετρο ένα γονικό παράθυρο (π.χ. CreateWindow).  HelpFile (AnsiString) : το όνομα του αρχείου βοήθειας που αντιστοιχεί στην εφαρμογή.  Hint (AnsiString) : παίρνει την τιμή του τρέχοντος Hint (από επιλογή των μενού ή component Hint).  HintColor (TColor) : το χρώμα του κουτιού που εμφανίζει το Hint.  HintHidePause (int) : χρόνος σε msec που το Hint είναι ορατό (def. 2500).  HintPause (int) : χρόνος σε msec μέχρι την εμφάνιση του Hint (def. 500).  Icon (TIcon) : περιέχει το εικονίδιο της εφαρμογής.  MainForm (TForm *) : δείκτης στο κεντρικό παράθυρο της εφαρμογής.

Οπτικός Προγραμματισμός  ShowMainForm (bool) : καθορίζει αν η κεντρική φόρμα θα εμφανίζεται κατά την εκτέλεση της εφαρμογής.  Terminated (bool) : καθορίζει αν η εφαρμογή έχει λάβει το μήνυμα WM_QUIT (π.χ. κλείσιμο του κεντρικού παραθύρου) και βαίνει προς τερματισμό. Γίνεται true από την ρουτίνα ProcessMessages όταν λάβει το μήνυμα WM_QUIT. Σε κλειστούς βρόχους υπολογισμών, όπου καλούμε περιοδικά την ProcessMessages, πρέπει να ελέγχουμε την “Terminated” ώστε να σταματάμε τους υπολογισμούς επιτρέποντας στην εφαρμογή να κλείσει.  Title (AnsiString) : ο τίτλος της εφαρμογής όταν είναι minimized. Μέθοδοι :  ActivateHint() : προκαλεί την εμφάνιση του Hint για το αντικείμενο που είναι κάτω από τον κέρσορα.  BringToFront() : φέρνει σε πρώτο πλάνο το παράθυρο της εφαρμογής που ήταν τελευταία ενεργό (Active).

Οπτικός Προγραμματισμός  CreateForm() : δημιουργεί μία φόρμα. Ενσωματώνεται αυτόματα στο “Project.cpp” για κάθε “Auto-create” φόρμα της εφαρμογής.  HandleException() : βασική ρουτίνα διαχείρισης των Εξαιρέσεων. Καλείται αυτόματα άν η εφαρμογή περάσει από όλα τα try-catch blocks. Δημιουργεί το event “OnException”.  HelpContext(ID) : προκαλεί την εμφάνιση του θέματος βοήθειας με αναγνωριστικό “ID” (αριθμητικό αναγνωριστικό).  HelpJump(ContextString) : προκαλεί την εμφάνιση του θέματος βοήθειας με αναγνωριστικό “ContextString” (αλφαριθμητικό αναγνωριστικό).  Initialize() : καλείται στο “Project.cpp”. Εξ’ ορισμού δεν κάνει τίποτα, εκτός αν δώσουμε τιμή στον δείκτη InitProc. Ανάθεση : InitProc = &MyInitializeFunction; Δήλωση pointer σε function : void (*func)(void);  MessageBox(Text,Caption,flags) : εμφανίζει ένα modal παράθυρο μηνυμάτων. Καλείται : Application->MessageBox(“...”, “…”, “MB_OK”)

Οπτικός Προγραμματισμός  Minimize() : ελαχιστοποιεί ολόκληρη την εφαρμογή (όλες τις φόρμες της)  ProcessMessages() : επιτρέπει στα Windows να επεξεργαστούν τα μηνύματα που βρίσκονται στην ουρά μηνυμάτων. Η ρουτίνα αυτή εκτελεί τον βρόχο μηνυμάτων των Windows μέχρι να τελειώσουν τα εκκρεμή μηνύματα και τότε επιστρέφει τον έλεγχο στην εφαρμογή. Πρέπει να καλείται περιοδικά σε ρουτίνες που εκτελούν κλειστούς βρόχους υπολογισμών, ώστε να επιτρέπουν στην εφαρμογή να αντιδρά σε μηνύματα, π.χ. OnPaint, OnMouseClick, OnKeyPress κ.λ.π.  Restore() : επαναφέρει τα παράθυρα της εφαρμογής όπως ήταν πριν γίνει Minimize.  Run() : ξεκινά τον βρόχο μηνυμάτων της εφαρμογής.  ShowException() : εκτελείται αυτόματα για όσες Εξαιρέσεις δεν φιλτράρονται από OnException events.  Terminate() : καλεί την Win API function PostQuitMessage που προκαλεί τον σωστό τερματισμό της εφαρμογής. Καλείται αυτόματα όταν παραχθεί ένα μήνυμα WM_QUIT ή όταν κλείνει η κεντρική φόρμα.

Οπτικός Προγραμματισμός  OnActivate : συμβαίνει όταν η εφαρμογή αποκτά το focus του χρήστη, είτε κατά την εκκίνηση της εφαρμογής είτε σε αλλαγή από εφαρμογή σε εφαρμογή (π.χ. Alt+Tab).  OnDeactivate : συμβαίνει όταν ο χρήστης πηγαίνει σε άλλη εφαρμογή.  OnException : παράγεται όταν συμβαίνουν Εξαιρέσεις (σφάλματα) που δεν τις χειρίζεται ο κώδικας του προγράμματος με δομές try-catch.  OnHelp : παράγεται όταν ο χρήστης ζητήσει βοήθεια.  OnIdle : παράγεται όταν η εφαρμογή είναι σε κατάσταση ηρεμίας (idle). Χρησιμοποιείται για να γράψουμε κώδικα που να πραγματοποιεί εξειδικευμένες ενέργειες όταν η εφαρμογή είναι σε ηρεμία. Η εφαρμογή είναι σε ηρεμία όταν δεν εκτελείται καμία ρουτίνα χειρισμού συμβάντος και η ουρά μηνυμάτων είναι άδεια.  OnMessage : παγιδεύει μηνύματα των Windows που προορίζονται για την εφαρμογή  OnMinimize : καλείται όταν η εφαρμογή γίνεται Minimize.  OnRestore : καλείται όταν η εφαρμογή γίνεται Restore.

Οπτικός Προγραμματισμός  Τα σφάλματα που συμβαίνουν κατά την εκτέλεση μίας αντικειμενοστρα-φούς εφαρμογής ονομάζονται «Εξαιρέσεις» (Exceptions).  Η Διαχείριση των Εξαιρέσεων γίνεται βασικά μέσω των δομών try – catch – throw που αποτελούν συντακτικές λέξεις της C++.  Η throw παράγει Εξαιρέσεις. H δομή try ξεκινά ένα σετ εντολών που είναι επιρρεπή σε σφάλματα : try { compound statement }.  Η try ακολουθείται από μία ή περισσότερες εντολές catch μία για κάθε τύπο σφάλματος που μπορεί να παραχθεί. Κάθε catch συνοδεύεται από τον τύπο του σφάλματος και ένα όνομα μεταβλητής αυτού του τύπου μέσα σε παρενθέσεις και τον κώδικα που θέλουμε να εκτελεστεί σε { }. try { Εντολή1; Εντολή 2;... ; Εντολή Ν ; } catch (Exception & e) { Εντολή 1; Εντολή 2;...; Εντολή Ν; } catch (MyError & e) { Εντολή 1; Εντολή 2;...; Εντολή Ν; } catch (FileError & e) { Εντολή 1; Εντολή 2;...; Εντολή Ν; }

Οπτικός Προγραμματισμός  Οι Εξαιρέσεις παράγονται συνήθως μέσα σε ρουτίνες (του χρήστη, της VCL ή των Windows), όταν συντρέχουν συνθήκες σφάλματος, με την κλήση της throw, π.χ. throw Exception(“overflow”);  Κατά την εκτέλεση της throw δημιουργείται ένα προσωρινό αντικείμενο μίας δημιουργημένης κλάσης που περιέχει πληροφορίες για το σφάλμα. Οι Εξαιρέσεις της VCL παράγουν αντικείμενα καθορισμένων κλάσεων που πηγάζουν από την κλάση “Exception”.  Ο χρήστης μπορεί όμως να καθορίσει δικές του κλάσεις Εξαιρέσεων. Π.χ. class Err{}; void move() { if(x>=10) throw Err(“max reached”); else x++; } int main() { x=0; try { move() } catch (Err & e) {MessageBox(NULL,“Move Stopped”,“”,MB_OK)} }

Οπτικός Προγραμματισμός  Μερικές κλάσεις Εξαιρέσεων στην VCL :  EAbortΣταματά χωρίς να εμφανίζει μήνυμα σφάλματος.  EAccessViolationΕλέγχει για σφάλμα προσπέλασης μνήμης.  EDatabaseErrorΚαθορίζει σφάλμα προσπέλασης DataBase.  EDivByZeroΔιαίρεση Ακεραίου με το 0.  EInOutErrorΣφάλμα Εισόδου/Εξόδου σε αρχείο.  EIntOverflowΥπερχείλιση ακεραίου (μεγάλος ακέραιος αριθμός).  EInvalidGraphicΜη αναγνωρίσιμο format αρχείου εικόνας.  EInvalidPointerΣφάλμα με δείκτες (pointers).  EPrinterErrorΣφάλμα κατά την εκτύπωση.  EPropertyErrorΣφάλμα κατά την ανάγνωση ή εγγραφή σε μία ιδιότητα  EStackOverflowΗ περιοχή του stack είναι γεμάτη.  ERegistryException Σφάλμα που αφορά το Registry.

Οπτικός Προγραμματισμός  Σε κάθε εφαρμογή του C++ Builder δηλώνεται αυτόματα και ένα “Screen” object του τύπου TScreen. Το Screen object αναπαριστά την κατάσταση της οθόνης του συστήματος στην οποία εκτελείται μία εφαρμογή.  Περιέχει ιδιότητες και μεθόδους που παρακολουθούν τα εξής : 1.Ποιές φόρμες και αντικείμενα δεδομένων έχουν αρχικοποιηθεί από την εφαρμογή. 2.Την «Ενεργή» φόρμα και το «Ενεργό» control μέσα στη φόρμα. 3.Το μέγεθος και την ανάλυση της οθόνης. 4.Τα εικονίδια του κέρσορα που είναι διαθέσιμα στην εφαρμογή και 5.Τα Fonts των γραμμάτων που είναι διαθέσιμα στην εφαρμογή.  Ο χρήστης μπορεί είτε να διαβάζει τις τιμές των ιδιοτήτων του Screen object είτε και να τις αλλάζει ώστε να πραγματοποιεί αλλαγές που θα ισχύουν για ολόκληρη την εφαρμογή και όλα τα ανοικτά παράθυρα π.χ. TCursor Save_Cursor = Screen->Cursor; Screen->Cursor = crHourGlass; // Show hourglass cursor

Οπτικός Προγραμματισμός  ActiveControl (TWinControl*) : δείκτης στο «ενεργό» control της «ενεργής» φόρμας.  ActiveForm (TForm*) : δείκτης στην «ενεργή» φόρμας της εφαρμογής.  Cursor (TCursor) : καθορίζει το σχήμα του κέρσορα για όλη την εφαρμογή. Άν έχει την τιμή crDefault τότε επιτρέπεται στα Controls να ορίζουν το σχήμα του κέρσορα.  DesktopHeight (int) : το ύψος του Desktop σε pixels (μπορεί να είναι μεγαλύτερο από το Height όταν έχουμε πολλαπλά monitor).  DesktopWidth (int) : το πλάτος του Desktop σε pixels (μπορεί να είναι μεγαλύτερο από το Width όταν έχουμε πολλαπλά monitor).  Fonts (TStrings*) : λίστα με τα ονόματα των Font οθόνης που είναι διαθέσιμα στην εφαρμογή.  FormCount (int) : ο αριθμός των φορμών της εφαρμογής που εμφανίζονται στην οθόνη.  Forms[i] (TForm *) : Πίνακας με δείκτες σε όλες τις φόρμες της εφαρμογής (i=0,…,FormCount-1).

Οπτικός Προγραμματισμός  Height (int) : το ύψος της οθόνης σε pixels.  Width (int) : το πλάτος της οθόνης σε pixels.  PixelsPerInch (int) : η διακριτικότητα της οθόνης σε pixel ανά ίντσα. Μέθοδοι :  DisableAlign() : οι ιδιότητες Align των φορμών αγνοούνται.  EnableAlign() : οι ιδιότητες Align των φορμών λαμβάνονται υπόψιν.  Realign() : επανατακτοποιεί τις φόρμες στην οθόνη σύμφωνα με τις ιδιότητες align της καθεμιάς. Συμβάντα :  OnActiveControlChange : συμβαίνει όταν αλλάζει το «ενεργό» Control της φόρμας (αλλάζει το control που έχει το focus).  On ActiveFormChange : συμβαίνει όταν αλλάζει η «ενεργή» φόρμα της εφαρμογής (αλλάζει η φόρμα που έχει το focus).

Οπτικός Προγραμματισμός  Για να εισάγουμε βοήθεια σε μία δική μας εφαρμογή θα πρέπει να κατασκευάσουμε ένα αρχείο με θέματα βοήθειας και να το συνδέσουμε στην εφαρμογή με την επιλογή Project->Options->Application->HelpFile ή μέσω της ιδιότητας HelpFile του Application object.  Το αρχείο βοήθειας πρέπει να γραφτεί αρχικά σε μορφή “rtf” π.χ. μέσω του Word με ειδικό τρόπο :  Κάθε θέμα της βοήθειας γράφεται σε ξεχωριστή σελίδα (αλλάζουμε σελίδες εισάγοντας ένα PageBreak).  Σε κάθε σελίδα βάζουμε μια επικεφαλίδα στην πρώτη γραμμή που χαρακτηρίζει την σελίδα βοήθειας.  Έχοντας τον κέρσορα στην αρχή της σελίδας εισάγουμε ένα Footnote (υποσημείωση) με τον χαρακτήρα “#” και στο κείμενο της υποσημείωσης γράφουμε το αναγνωριστικό της σελίδας. Με αυτό το αναγνωριστικό μπορούμε να μεταφερόμαστε με hyperlinks από τη μία σελίδα στην άλλη.  Εισάγουμε μία υποσημείωση με τον χαρακτήρα “$” στην οποία γράφουμε τον τίτλο του θέματος, όπως θα εμφανίζεται στις λίστες θεμάτων (Find).

Οπτικός Προγραμματισμός  Εισάγουμε μία υποσημείωση με τον χαρακτήρα “K” στην οποία γράφουμε τις λέξεις κλειδιά (Keywords) που θα μας οδηγούν σε αυτή τη σελίδα. Μπορούμε να βάλουμε πολλές λέξεις χωριζόμενες με “;”.  Για να εισάγουμε εικόνες μέσα στο κείμενο αρκεί να εισάγουμε το όνομα της εικόνας (bitmap) με την εξής μορφή : {bmc picture.bmp} ή {bml ….} ή {bmr …} η εντολή bmc φορτώνει την εικόνα κάνοντάς την να συμπεριφέρεται ως ένας χαρακτήρας (inline with text). H bml φορτώνει την εικόνα στο αριστερό άκρο της γραμμής και το κείμενο τυλίγεται γύρω της. Η bmr την φορτώνει στο δεξί άκρο και το κείμενο τυλίγεται γύρω της.  Για να εισάγουμε hyperlink προς άλλη σελίδα κάνουμε τα εξής : 1.Υπογραμμίζουμε με διπλή υπογράμμιση τo κείμενο του hyperlink και 2.Kολλητά σε αυτό γράφουμε το αναγνωριστικό της σελίδας στην οποία θα μεταφερόμαστε αλλά σε μορφή “hidden”. Π.χ. : «You can create new documents with the New commandHID_FILE_NEW»

Οπτικός Προγραμματισμός

 Δημιουργούμε το αρχείο Περιεχομένων (Contents file, *.cnt) που είναι επίσης ένα ASCII αρχείο και περιέχει τις οδηγίες για την σελίδα “Contents” της βοήθειας, αλλά και για τη σελίδα “Index”. :Base Project1.hlp :Title Project Help :Index Project Index Help=Project1.hlp 1 Menus 2 File menu=menu_file 2 Edit menu=menu_edit … 1 How to.. Application procedures 2 How to delete a file=file_delete 2 How to Reopen a document=document_reopen …  Εκτελούμε το Microsoft help Workshop από τον κατάλογο../Cbuilder5/Help/Tools/ και επιλέγουμε File->New->Help Project

Οπτικός Προγραμματισμός  Επιλέγουμε όνομα του Help Project συνήθως ίδιο με αυτό της εφαρμογής (Project1)  Επιλέγουμε Options->Files->RTF Files και προσθέτουμε το αρχείο με τα θέματα βοήθειας σε μορφή RTF.  Στην επιλογή Contents File δίνουμε το όνομα του.cnt αρχείου που φτιάξαμε.  Επιλέγουμε Save and Compile και παράγεται το Project1.hlp καθώς και ένα report με τυχόν Warnings ή σφάλματα κατά το compile του Project.  Δοκιμάζουμε το Help File με την επιλογή File->Run WinHelp.  Για να συνδέσουμε συγκεκριμένα Components ή φόρμες με συγκεκριμένες σελίδες της βοήθειας, αρκεί να θέσουμε στην ιδιότητα “HelpContext” του Component ή της φόρμας το «αναγνωριστικό» της σελίδας βοήθειας που θέλουμε να εμφανιστεί.

Οπτικός Προγραμματισμός

 Είναι μία ομάδα ρουτινών που δεν ανήκουν σε κανένα αντικείμενο αλλά είναι δηλωμένες στην βιβλιοθήκη VCL και μπορούν να χρησιμοποιηθούν σε οποιαδήποτε εφαρμογή του C++ Builder :  void Abort(void) : τερματίζει την τρέχουσα διεργασία παράγοντας την σιωπηρή Εξαίρεση EAbort.  bool AnsiSameStr(AnsiString S1, const AnsiString S2) : συγκρίνει τα δύο string και επιστρέφει true/false αν είναι ίδια ή όχι.  int AnsiStrComp(char * S1, char * S2) : συγκρίνει δύο C strings και επιστρέφει αποτ.>0 άν S1>S2, αποτ.<0 άν S1<S2 και αποτ.=0 άν S1==S2  void Beep(void) : προκαλεί ένα ηχητικό μπίπ καλώντας την WinAPI function “MessageBeep”.  AnsiString ChangeFileExt(AnsiString FileName, AnsiString Extension) : αλλάζει την επέκταση σε ένα όνομα αρχείου.  bool CompareMem(void * P1, void * P2, int Length) : συγκρίνει δύο περιοχές μνήμης που ξεκινούν από τους δείκτες P1 και P2 και έχουν μήκος Length και επιστρέφει true/false αποτέλεσμα.

Οπτικός Προγραμματισμός  bool CreateDir(AnsiString Dir) : δημιουργεί ένα καινούργιο κατάλογο αρχείων και επιστρέφει true/false για το άν δημιουργήθηκε επιτυχώς.  TDateTime Date(void) : επιστρέφει την τρέχουσα ημερομηνία ως ένα TDateTime object.  AnsiString DateTimeToStr(TDateTime DateTime) : μετατρέπει την ημερομηνία και την ώρα του συστήματος σε AnsiString.  int DayOfWeek(TDateTime Date) : επιστρέφει την ημέρα της εβδομάδας (1..7) για την συγκεκριμένη ημερομηνία (όπου 1 = Κυριακή).  void DecodeDate(TDateTime Date, Word &Year, Word &Month, Word &Day) : αποκωδικοποιεί μία ημερομηνία από TDateTime object σε 3 ακεραίους Day, Month, Year.  void DecodeTime(TDateTime Time, Word &Hour, Word &Min, Word &Sec, Word &MSec) : αποκωδικοποιεί μία τιμή ώρας από TDateTime object σε 4 ακεραίους, Hour, Min, Sec, MSec.  bool DeleteFile(AnsiString FileName) : σβήνει ένα αρχείο από το δίσκο και επιστρέφει true/false για το άν διαγράφηκε επιτυχώς.

Οπτικός Προγραμματισμός  __int64 DiskFree(Byte Drive) : επιστρέφει τον ελεύθερο χώρο ενός Drive, όπου 0=το τρέχον drive, 1=A, 2=B, 3=C, 4=D κ.ο.κ.  __int64 DiskSize(Byte Drive) : επιστρέφει τον συνολικό χώρο ενός Drive, όπου 0=το τρέχον drive, 1=A, 2=B, 3=C, 4=D κ.ο.κ.  TDateTime EncodeDate(Word Year, Word Month, Word Day) : κωδικο-ποιεί μία ημερομηνία από τη μορφή Day,Month,Υear σε TDateTime.  TDateTime EncodeTime(Word Hour, Word Min, Word Sec, Word MSec) : κωδικοποιεί μία τιμή ώρας από τη μορφή Hour, Min, Sec, Msec σε TDateTime object.  AnsiString ExcludeTrailingBackslash(AnsiString S) : αφαιρεί τυχόν ανάποδη κάθετο “\” που μπορεί να υπάρχει στο τέλος ενός ονόματος καταλόγου.  AnsiString ExpandFileName(AnsiString FileName) : επεκτείνει ένα απλό όνομα αρχείου σε πλήρες όνομα προσθέτοντας το τρέχον drive και path.  AnsiString ExtractFileDir(AnsiString FileName) : εξάγει το όνομα του καταλόγου από το πλήρες όνομα ενός αρχείου.

Οπτικός Προγραμματισμός  AnsiString ExtractFileDrive(AnsiString FileName) : Εξάγει τό Drive από το πλήρες όνομα ενός αρχείου.  AnsiString ExtractFileExt(AnsiString FileName) : εξάγει την επέκταση από ένα πλήρες όνομα αρχείου.  AnsiString ExtractFileName(AnsiString FileName) : εξάγει το απλό όνομα ενός αρχείου από ένα πλήρες όνομα αρχείου.  int FileCreate(AnsiString FileName) : δημιουργεί ένα αρχείο.  bool FileExists(AnsiString FileName) : ελέγχει αν υπάρχει το αρχείο.  FileOpen, FileRead, FileWrite, FileSeek, FileClose : εργασίες αρχείων (C)  FileGetDate, FileGetAttr, FileSetDate, FileSetAttr : εργασίες αρχείων.  int FindFirst(AnsiString Path, int Attr, TSearchRec &F) : ψάχνει στον κατάλογο Path να βρεί τήν πρώτη εγγραφή που να έχει χαρακτηριστικά Attr, και επιστρέφει τα στοιχεία της εγγραφής στο F.  int FindNext(TSearchRec &F) : συνεχίζει την αναζήτηση εγγραφών της προηγούμενης FindFirst. Επιστρέφει false αν δεν βρεί άλλη εγγραφή.

Οπτικός Προγραμματισμός  AnsiString GetCurrentDir() : επιστρέφει τον τρέχοντα κατάλογο.  bool IsDelimiter(AnsiString Delimiters, const AnsiString S, int Index) : ελέγχει αν ο χαρακτήρας του AnsiString είναι ένας από τους Delimiters.  bool IsLeapYear(Word Year) : ελέγχει αν το έτος είναι δίσεκτο.  TDateTime Now(void) : επιστρέφει την τωρινή ώρα και ημέρα.  bool RemoveDir(AnsiString Dir) : διαγράφει ένα κατάλογο.  bool RenameFile(AnsiString OldName, AnsiString NewName) : μετονομάζει ένα αρχείο.  Trim, TrimLeft, TrimRight : κόβουν τα κενά από ένα AnsiString.  AnsiString WrapText(AnsiString Line, AnsiString BreakStr, TSysCharSet &BreakChars, int MaxCol) : χωρίζει την γραμμή Line σε πολλαπλές γραμμές εισάγοντας τον χαρακτήρα αλλαγής γραμμής που είναι στο BreakStr, στον τελευταίο χαρακτήρα πρίν από MaxCol στήλες που ανήκει στο σύνολο BreakChars.