1 / 16

Οι ιδιότητες ( properties)

Οι ιδιότητες ( properties). Οι ιδιότητες των αντικειμένων μπορεί να είναι δύο ειδών : Published properties : είναι αυτές που εμφανίζονται στον Object Inspector και μπορούν να αλλαχθούν κατά την σχεδίαση Run-time properties : αλλάζουν μόνο κατά την εκτέλεση του προγράμματος ( run time).

rafe
Download Presentation

Οι ιδιότητες ( properties)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Οι ιδιότητες (properties) Οι ιδιότητες των αντικειμένων μπορεί να είναι δύο ειδών : • Published properties : είναι αυτές που εμφανίζονται στον Object Inspector και μπορούν να αλλαχθούν κατά την σχεδίαση • Run-time properties : αλλάζουν μόνο κατά την εκτέλεση του προγράμματος (run time). Οι ιδιότητες μπορεί να είναι : • Απλές μεταβλητές, π.χ. int, double, char, κ.λ.π. • Πίνακες μεταβλητών (Arrays) • Απαριθμητοί τύποι (enumerations) που αποτελούνται από συγκεκριμένες τιμές • Σύνολα (sets) δηλαδή μία ομάδα από επιλεγμένες τιμές απλού ή απαριθμητού τύπου (π.χ. Font->Style= fsBold, fsItalic) • Άλλα αντικείμενα της βιβλιοθήκης VCL όπως η ιδιότητα Font • Κατά την εκτέλεση οι ιδιότητες ενός αντικειμένου προσπελάζονται πάντα έμμεσα ως : Pointer Αντικειμένου -> Ιδιότητα Button1->Left=200;Edit1->Visible=true;Label1->Cursor=crHelp;

  2. Οι μέθοδοι (methods) Οι μέθοδοι των αντικειμένων είναι συναρτήσεις μέσω των οποίων χειριζόμαστε τα δεδομένα και τις ιδιότητες των αντικειμένων. Είναι δηλαδή συναρτήσεις-μέλη των κλάσεων των αντικειμένων και είναι τριών ειδών : Δημόσιες (public) : είναι αυτές που είναι διαθέσιμες σε αυτόν που χρησιμοποιεί το αντικείμενο. Private (ιδιωτικές) : είναι συναρτήσεις που χρησιμοποιεί το ίδιο το αντικείμενο για εσωτερικές του λειτουργίες και δεν είναι διαθέσιμες στο χρήστη, ούτε και σε αντικείμενα παραγόμενων κλάσεων Protected (προστατευμένες) : είναι το ίδιο με τις ιδιωτικές αλλά είναι ορατές σε αντικείμενα παραγόμενων κλάσεων (κληρονομικότητα) Οι μέθοδοι μπορεί να παίρνουν ή να μην παίρνουν παραμέτρους που καθορίζουν την λειτουργία τους και μπορεί να επιστρέφουν ή να μην επιστρέφουν κάποιο αποτέλεσμα Παραδείγματα : AboutForm->ShowModal(), MyCanvas->LineTo(x,y) HasFocus = Edit1->Focused()

  3. Τα συμβάντα (events) Τα συμβάντα είναι ενέργειες που μπορεί να κάνει ο χρήστης με το συγκεκριμένο αντικείμενο (π.χ. διπλό κλικ, πάτημα κουμπιού, αλλαγή κειμένου, επιλογή από μενού, αλλαγή μεγέθους, drag&drop κ.λ.π.) Τα Windows ειδοποιούν την εφαρμογή για ένα event στέλνοντας σε αυτήν ένα μήνυμα (windows message). Υπάρχουν περίπου 175 διαφορετικά μηνύματα. Η ρουτίνα διαχείρισης του event δημιουργείται πατώντας διπλό κλικ στο event από τον Object Inspector και στη συνέχεια γράφουμε τον κώδικα. Παράδειγμα: void --fastcall TForm1::Button1Click(TObject * Sender) { Form1->Close(); }

  4. Τα συμβάντα (events) 2 Οι Event handlers έχουν τουλάχιστον μία παράμετρο (TObject * Sender) που είναι ένας δείκτης (pointer) στο αντικείμενο που παρήγαγε το μήνυμα. Μπορεί δύο αντικείμενα να μοιράζονται τον ίδιο Event Handler. Παράδειγμα : Αν έχουμε σε μία φόρμα δύο κουμπιά με ονόματα Show και Hide μπορεί να έχουν την ίδια ρουτίνα για το OnClick event τουςμε όνομα ButtonClick που να είναι ως εξής : void --fastcall TForm1::ButtonClick(TObject * Sender) { if (Sender==Hide) Label1->Hide(); else Label1->Show(); } Τα ονόματα των event handlers μπορούν να αλλαχτούν από τον χρήστη.

  5. H ρουτίνα MessageBox int --fastcall MessageBox(void * hWnd, const char * Text, const char * Caption, int Flags); Είναι μέθοδος της κλάσης TApplication από την οποία παράγονται οι εφαρμογές, και είναι διαθέσιμη σε κάθε εφαρμογή. Εμφανίζει ένα μήνυμα στην οθόνη σε δικό του παράθυρο. Έχει τρεις παραμέτρους 1. hWnd : pointer σε παράθυρο που μπορεί να είναι NULL 2. Text : το κείμενο του μηνύματος 3. Caption : ο τίτλος του παραθύρου 4. Flags : καθορίζει πόσα και τί κουμπιά θα εμφανιστούν MB_ABORTRETRYIGNORE, MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL MB_ICONEXCLAMATION, MB_ICONWARNING, MB_ICONINFORMATION, MB_ICONASTERISK, MB_ICONQUESTION, MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND Επιστρέφει τις τιμές : 0 άν δεν μπορέσει να δημιουργηθεί λόγω μνήμης ή IDOK=1, IDCANCEL=2, IDABORT=3, IDRETRY=4, IDIGNORE=5, IDYES=6, IDNO=7

  6. Άσκηση 1 - 3 void __fastcall TForm1::Button1Click(TObject *Sender) {if (IsNumber(Edit1->Text) && IsNumber(Edit2->Text)) Edit3->Text=Edit1->Text.ToDouble()+ Edit2->Text.ToDouble(); else MessageBox(NULL,"Not a number", "ΑΣΚΗΣΗ 1-3",MB_OK|MB_ICONSTOP);} BOOL IsNumber(AnsiString s) {int i; BOOL itis=true; for (i=1 ; i<=s.Length() ; i++) if (!isdigit(s[i]) && s[i]!=',' && s[i]!='-') itis=false; return itis;}

  7. Το Μενού Edit • Undelete/Undo : Επαναφορά διεγραμμένου αντικειμένουή ματαίωση προηγ. ενέργειας. • Redo : Επανεκτέλεση προηγούμενου Undo. • Cut/Copy/Paste : Αποκοπή/Αντιγρ./Επικόλληση. • Delete : Διαγραφή χωρίς clipboard. • Select All : Επιλογή όλων. • Align to Grid : Στοίχιση στο πλέγμα. • Bring to Front : Τοποθέτηση μπροστά. • Send to Back : Τοποθέτηση πίσω. • Align :

  8. Το Μενού Edit 2 • Size : • Scale : Αλλαγή κλίμακας (%) • Tab Order : Σειρά εναλλαγής με πάτημα Tab • Creation Order : Σειρά δημιουργίας μη-οπτικών αντικειμένων (Dialogs, Timers κ.λ.π.) • Flip Children : Καθρεφτισμός αντικειμένων στη φόρμα (οριζόντιος) • Lock Controls : Κλείδωμα/ξεκλείδωμα θέσης και μεγέθους αντικειμένων στη φόρμα (αλλάζουν μόνο από τον Object Inspector)

  9. Το Μενού Search • Find : Αναζήτηση κειμένου στο τρέχον αρχείο • Find in Files : Αναζήτηση κειμένου σε πολλά πηγαία αρχεία

  10. Το Μενού Search 2 • Replace : Αντικατάσταση κειμένου • Search Again : Συνέχιση αναζήτησης • Incremental Search : Αναζήτηση καθώς πληκτρολογούμε • Go to Line Number : Μεταφορά σε αριθμό γραμμής. • Go To Address : Μεταφορά σε διεύθυνση ρουτίνας (Debugging)

  11. Το Μενού View • Project Manager : Εμφανίζει πληροφορίες για την κατάσταση και το περιεχόμενο των αρχείων του Project. • Translation Manager : Επιτρέπει την δημιουργία εφαρμογών σε πολλαπλές γλώσσες. • Object Inspector : Εμφανίζει τον Επιθεωρητή Αντικειμένων. • To-Do List : Λίστα ενεργειών που πρέπει να γίνουν.

  12. Το Μενού View 2 • Alignment Palette : Εμφανίζει toolbar ευθυγ-ράμμισης αντικειμένων. • Class Explorer : Αριστερό παράθυρο του Editor με πληροφορίες για τις κλάσεις αντικειμένων. • Component List : Εμφανίζει λίστα με όλα τα διαθέσιμα visual components ανεξαρτήτως κατηγορίας. • Window List : Λίστα με τα ανοικτά παράθυρα.

  13. Το Μενού View 3 • Debug Windows : Εμφανίζει παράθυρα σχετικά με την εκσφαλμάτωση (Breakpoints, Call Stack, Watches, Local Variables, Threads κ.λ.π.) • Desktops : Επιλογές σχετικές με τις επιφάνειες εργασίας (Save, Delete, Set Debug Desktop). • Toggle Form/Unit : Εναλλαγή μεταξύ φόρμας και πηγαίου κώδικα. • Units : Εμφανίζει λίστα με όλα τα αρχεία πηγαίου κώδικα της εφαρμογής. • Forms : Εμφανίζει λίστα με όλες τις φόρμες της εφαρμογής. • Type Library : Βιβλιοθήκη τύπων για αντικείμενα ActiveX ή COM. • New Edit Window : Ανοίγει δεύτερο παράθυρο επεξεργασίας πηγαίου κώδικα. • Toolbars : Καθορίζει ποιές μπάρες εργαλείων θα είναι ορατές στην επιφάνεια εργασίας.

  14. Τα αρχεία εφαρμογών του C++ Builder

  15. Source Code Templates • Πρότυπα κοινά χρησι-μοποιούμενων δομών στην C++. • Εμφάνιση λίστας επιλογής με Ctrl+J. • Διευκολύνει την ανάπτυξη του κώδικα. • Ο χρήστης μπορεί να ορίσει και δικά του source code templates με την επιλογή : Tools -> Editor Options -> Code Insight

  16. Compiler Directives • #include : ενσωματώνει αρχείο επικεφαλίδων (με δηλώσεις κλάσεων, συναρτήσεων, μεταβλητών κ.λ.π., στο πηγαίο αρχείο κατά την μεταγλώττιση (#include <conio.h>). • #define : καθορίζει τιμή σταθεράς που μακρο-αντικαθίσταται πριν την μεταγλώττιση (#define N 100) • #ifdef, #ifndef, #else, #endif : δομές για υπό συνθήκη μεταγλώττιση κώδικα. (#ifdef WINDOWS #include <win.h> #else #include <dos.h> #endif) • #pragma hdrstop : τερματίζει την λίστα αρχείων επικεφαλίδας που θα προ-μεταγλωτιστούν (π.χ. #include <vcl.h> #pragma hdrstop #include <unit1.h>) • #pragma package (smart init) : Βεβαιώνει ότι τα πηγαία αρχεία αρχικοποιούνται με την σειρά εξάρτησής τους. • #pragma resource “*.dfm” : Μαρκάρει το πηγαίο αρχείο ως αρχείο φόρμας και αναζητά το αντίστοιχο αρχείο .dfm

More Related