Παρουσίαση Delphi. Μέμος-Μπαγκράτσας Ιωάννης 1232 Μαργαρίτης Νικόλαος 1226

Σχετικά έγγραφα
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Computing. Νοέμβριος Έκδοση 1.0

Προγραμματισμός PASCAL

Υπολογιστικά Συστήματα

Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Pascal. 15 Νοεμβρίου 2011

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Αποτελέσματα προόδου

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ)

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Ανάπτυξη εφαρμογής Input-Output

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Λογισµικό (Software SW) Γλώσσες

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

ΜICROSOFT VISUAL STUDIO Eργ 1: Ανάπτυξη απλής εφαρµογής: Solutions, Projects, GUI, Events, Debugging. Εισαγωγή

Δημιουργία μιας εφαρμογής Java με το NetBeans

2 Visual Basic. Χαριτούδη Γεωργία

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

Εισαγωγή στον Προγραμματισμό

ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗ VISUAL BASIC Γ ΓΥΜΝΑΣΙΟΥ

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Είσοδος Έξοδος - Μεταβλητές

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Κεφάλαιο 7: Υπορουτίνες

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

SIMATIC MANAGER SIMATIC MANAGER

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι

Βασικά Στοιχεία της Java

Αντικειµενοστρεφής Προγραµµατισµός

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ιαφάνειες παρουσίασης #9

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

γενικό ΛΥΚειο Νέων ΜΟΥΔανιών ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΛΥΚΕΙΟΥ Διδάσκων Καθηγητής: Γιώργος Μαλακούδης

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Κλάσεις και αντικείμενα #include <iostream.h<

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Βασικά Στοιχεία της Java

Visual Basic Γλώσσα οπτικού

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011

Κλάσεις στην Python. Δημιουργία κλάσεων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΜΕΣΟΥ ΑΡΧΕΙΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝ VISUAL STUDIO NET

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

MySQL stored procedures

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Τι είναι κλάση Κλάση

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

Transcript:

Παρουσίαση Delphi Μέμος-Μπαγκράτσας Ιωάννης 1232 Μαργαρίτης Νικόλαος 1226

Object Oriented Pascal Το Delphi χρησιμοποιεί την Object Oriented Pascal. Ο περισσότερος κώδικας γράφεται αυτόματα κάθε φορά που επεξεργαζόμαστε τα components (θα δούμε πιο κάτω τι είναι). Σε αρκετές περιπτώσεις θα χρειαστεί να γράψουμε εμείς τον κώδικα για διάφορες συναρτήσεις του προγράμματός μας.

Βασικά χαρακτηριστικά Βασικοί τύποι δεδομένων: Integer Char String Boolean Και διάφοροι άλλοι τύποι. Παράδειγμα δήλωσης μεταβλητής: var avar : Integer; {μεταβλητή τύπου Integer} Παράδειγμα δήλωσης σταθεράς: const aconst : Char; {σταθερά τύπου Char}

Βασικά χαρακτηριστικά Βασικές πράξεις: +, -, /, * Παράδειγμα: avar := a + b/c a*d; Η πρωτεραιότητα των τελεστών είναι ίδια με αυτή που χρισιμοποιούμε στα μαθηματικά.

Βασικά χαρακτηριστικά Τελεστές σύγκρισης: =, <, >, <=, >=, not Παράδειγμα: a:=9; b:=9; a>=b {TRUE} Προσοχή: = είναι τελεστής σύγκρισης, ενώ := τελεστής εκχώρησης τιμής.

Βασικά χαρακτηριστικά Δομές Ελέγχων: if...then...else case statements Παράδειγμα if...then...else if cond_expr_1 then begin true_statements; end else begin false_statements; end;

Βασικά χαρακτηριστικά Παραδειγμα case statements case operator of '*' : result:= number1 * number2;.. '-' : result:= number1 - number2; otherwise invalid_operator := 1

Βασικά χαρακτηριστικά Δομές επανάληψης for loops while loops repeat loops goto loops Παράδειγμα for loop: for i := 1 to 10 do do_something; Παράδειγμα while loop: while i <= 10 begin i := i + 1; do_something; end; {do_something 10 φορές}

Βασικά χαρακτηριστικά Παράδειγμα repeat loop: i := 0; repeat i := i + 1; do_something; until i = 10; Παράδειγμα goto loop: { Some code} label label_name; {more code} goto label_name;

Arrays Οι πίνακες είναι μια ομαδοποίηση μεταβλητών του ίδιου τύπου δεδομένων. Παράδειγμα πίνακα: program Arrays; var a: array[1..5] of Integer; {Δήλωση πίνακα ακεραίων 5 θέσεων} begin a[1] := 12; a[2] := 23; a[3] := 34; a[4] := 45; a[5] := 56; end.

Pointers Ένας pointer (δείκτης) είναι μια μεταβλητή που περιέχει την διεύθηνση μνήμης μιας άλλης μεταβλητής. Παράδειγμα: program Pointers; var i: integer; p: ^integer; {δήλωση δείκτη ακεραίων} begin p := @i; {αρχικοποίηση τιμής με την διεύθυνση p^ := 2; μιας άλλης μεταβλητής} end.

Καλό είναι κάθε φορά που δεσμεύουμε μνήμη, όταν δεν την χρειαζόμαστε πια να την αποδεσμεύουμε με την FreeMem Δυναμική Δέσμευση Μνήμης Δυναμική δέσμευση μνήμης σημαίνει ότι ο χώρος μνήμης που χρησιμοποιούμε δεν βρίσκεται στη στοίβα του προγράμματος αλλά στη σωρό. Με αυτό το τρόπο μπορούμε να διατηρούμε το χώρο μνήμης μια μεταβλητής ακόμα και όταν διαγράφεται το μπλοκ μνήμης ενός υποπρογράμματος. Ο καλύτερος τρόπος για να δεσμεύσουμε μνήμη είναι να χρησιμοποιήσουμε την AllocMem.

Δυναμική Δέσμευση Μνήμης Παράδειγμα Δυναμικής Δέσμευσης μνήμης: var APtr : String; begin APtr := AllocMem(SizeOf(String)); APtr^ := `Per'; end; Παράδειγμα Αποδέσμευσης μνήμης: FreeMem(APtr);

Procedures and Functions Οι διαδικασίες (procedures) και οι συναρτήσεις (functions) είναι υποπρογράμματα που καλούνται από το κυρίως πρόγραμμα. Η βασική διαφορά τους είναι ότι οι διαδικασίες δεν επιστρέφουν κάποια τιμή σε αντίθεση με τις συναρτήσεις. Παράδειγμα διαδικασίας: procedure Hello(i : Integer); begin do_something; end; {Πέρνει όρισμα ένα ακέραιο}

Procedures and Functions Παράδειγμα συνάρτησης: program Functions; var Answer: Integer; function Add(i, j:integer): Integer; begin Add := i + j; end; begin Answer := Add(1,2); Writeln(Add(1,2)); end.

Type, Records Μπορούμε να δημιουργήσουμε δικούς μας τύπους δεδομένων χρησιμοποιώντας τη δεσμευμένη λέξει type. Συνήθως τη λέξει type τη χρησιμοποιούμε μαζί με τις εγγραφες (records). Μια εγγραφή είναι ένας αφηρημένος τύπος δεδομένων που περιέχει διάφορα πεδία.

Type, Records Παράδειγμα εγγραφής: program Types; Type StudentRecord = Record Number: Integer; Name: String; end; var Student: StudentRecord; begin Student.Number := 12345; Student.Name := 'John Smith'; end. {η δήλωση της εγγραφής} {τα πεδία της} {μεταβλητή καινουριου τύπου} {χρήση των πεδίων}

Classes Οι κλάσεις είναι συλλογή πεδίων και μεθόδων (συναρτήσεων ή διαδικασιών), που συνεργάζονται για την επίτευξη προγραμματιστικών σκοπών. Μπορούν να περιλαμβάνουν: Private, public και protected πεδία Constructors Destructors Μεθόδους (συναρτήσεις ή διαδικασίες) Ένα pointer με ονομα Self

Classes Private δηλώνουμε τα πεδία που μπορούν να χρησιμοποιηθούν μόνο από τις μεθόδους της κλάσης στην οποία ανήκουν. Public δηλώνουμε τα πεδία που μπορούμε να χρησιμοποιήσουμε έξω από τα όρια της κλάσης. Protected δηλώνουμε τα πεδία που δε θέλουμε να χρησιμοποιούνται έξω από τα όρια μιας κλάσης, αλλά μόνο από τις κλάσεις που κληρονομούνε από αυτήν.

Classes Παράδειγμα κλάσης: animal = class private height : Integer; weight :Integer; public function getweight; function getheight; procedure setweight(weight : Integer); procedure set height(height : Integer); constructor create; {o constructor της κλάσης} destructor kill; {ο destructor της κλάσης} end;

Classes Yλοποίηση Constructor: constructor dog.create; begin inherited create; height := 0; weight := 0; end; Υλοποίηση Destructor: destructor dog.kill; begin end; (συνήθως οι destructors χρησιμοποιούνται για αποδέσμευση μνήμης ή για κλείσιμο αρχείων όταν καταστρέφονται τα αντικείμενα)

Κληρονομικότητα Κληρονομικότητα λέμε το να δημιουργούμε κλάσεις με βάση μία κλάση που έχουμε ήδη φτιάξει. Οι κλάσεις αυτές θα μπορούν να έχουν πεδία της μητρικής (ήδη υπάρχουσας) κλάσης. Παράδειγμα κληρονομικότητας (μητρική κλάση animal). dog = class(animal); private name : String; public procedure barks; end; (H κλάση dog κληρονομεί από την κλάση animal)

Υπερφόρτωση μεθόδων Με τον όρο υπερφόρτωση μεθόδων στην αντικειμενοστραφής pascal,εννοούμε το να μπορούμε να έχουμε παραπάνω από μία μεθόδους με το ίδιο όνομα αλλά με διαφορετικό πλήθος ορισμάτων. Παράδειγμα υπερφόρτωσης: procedure car(weight,height : Integer); procedure car(weight,height : Integer, label : String);

Delphi IDE Τα κύρια μέρη του Delphi είναι: Main menu και toolbars Component palette Form Designer Code Editor Object Inspector

Object Inspector Form Desinger Components Pallete Code Editor Main menu and toolbars

Projects Projects είναι μια συλλογή αρχείων που συνεργάζονται για την δημιουργία ενός εκτελέσιμου αρχείου ή ενος DLL. Επίσης υπάρχουν και τα project groups που είναι συλλογή από projects. Ένα project πρέπει να έχει το λιγότερο 4 αρχεία: project source file main form unit main form resource file project resource file

Projects files Project file Είναι το αρχείο που περιέχει τον αρχικό κώδικα κατα την εκκίνηση του project. Main form unit Περιέχει δηλώσεις κλάσεων και τις βασικής φόρμας. Main form resource file και project resource file Είναι δυαδικά αρχεία που περιγράφουν τη βασική φόρμα και τις εικόνες της εφαρμογής.

Types of Files.pas: Πηγαίος κώδικας της Object Pascal.dfm: Δυαδικό αρχείο περιγραφής φόρμας.dsk: Αυτό το αρχείο αποθηκεύει τη μορφή του Desktop.dof: Περιέχει τις επιλογές του project.exe: Το εκτελέσιμο.cfg: Περιέχει τις ρυθμίσεις του compiler και του linker για το συγκεκριμένο project.dcu: Τα αρχεία που παράγει ο compiler.dpr: Πηγαίος κώδικας του project.res: Το πηγαίο μεταφρασμένο δυαδικο αρχείο

Project

Frameworks Framework είναι μια συλλογή κλάσεων για την απλοποίηση προγραμματισμού σε παραθυρικό περιβάλλον. Πολλά frameworks έχουν κλάσεις για παράθυρα, κουμπιά, εικόνες bitmap κτλ.

Components Components είναι αντικείμενα που πραγματοποιούν ένα προγραμματιστικό σκοπό. Στο Delphi χρησιμοποιούμε VCL (Visual Components Library) components. Properties, Methods και Events χαρακτηρίζουν τον τρόπο λειτουργίας ενός VCL components.

Properties Properties είναι τα στοιχεία ενός component που ελέγχουν τον τρόπο λειτουργίας του. Ο object inspector περιέχει όλα τα properties που μπορούμε να επεξεργαστούμε κατά τη διάρκεια του σχεδιασμού ενος component. Αρκετά properties είναι κοινά όπως το Name που έχει το όνομα του αντικειμένου. Η επεξεργασία των τιμών γίνεται από την δεξιά στήλη του object inspector

Methods Οι μέθοδοι σε ένα component είναι functions και procedures που κάνουν το component να εκτελέσει μια συγκεκριμένη διεργασία.

Events Τα παράθυρα λέγεται ότι είναι οδηγούμενα-απο-ταγεγονότα (event-driven) περιβάλλοντα. Event-driven σημαίνει ότι η εκτέλεση ενός προγράμματος εξαρτάται απο διάφορα γεγονότα που θα γίνουν στο περιβάλλον του προγράμματος όπως mouse clicks κλπ. Υπάρχουν συγκεκριμένες μέθοδοι που επεξεργάζονται αυτά τα γεγονότα. Αυτές οι μέθοδοι λέγονατι event hadlers.

Events με Object Inspector Μέσω του object inspector μπορούμε να χειριστούμε πολύ εύκολα τους event handlers. Επιλέγοντας το tab events στον object inspector μπορούμε να δούμε κάποιους πρώτυπους event handlers. Κάνοντας διπλό κλικ στη δεξιά στήλη εμφανιζεται ο κώδικας του handler όπου τον επεξεργαζόμαστε όπως θέλουμε εμείς.

Component Pallete Τα components τα εισάγουμε μέσω του component pallete κάνοντας click σε αυτό που θέλουμε και ξανά click εκεί που θέλουμε να το τοποθετήσουμε μέσα στο form. Ύστερα μπορούμε να τα μετακινήσουμε ή να αυξήσουμε το μέγεθος τους όπως επιθυμούμε.

Component Pallete Παράδειγμα δημιουργίας ενός κουμπιού: Απο το standard tab επιλέγουμε το εικονίδιο ok. Κάνουμ κλικ στο form και εμφανίζεται ένα κουμπί.

Object Tree View Με το Object Tree View μπορούμε να βλέπουμε όλα τα αντικείμενα που έχουμε δημιουργήσει.

Compile, Run Για να κάνουμε build ή compile το πρόγραμμα, επιλέγουμε τις αντίστοιχες εντολές από το menu Project Για να τρέξουμε το πρόγραμμα, επιλέγουμε run από το menu run ή πατάμε το αντίστοιχο κουμπί στο toolbar

Hell, oh World! Ένα απλό πρόγραμμα σε Delphi. Ξεκινώντας, επιλέγουμε απο το menu File, new application.

Hell, oh World! Στο Object Ispector, αλλάζουμε το Caption από Form1 σε Hell, oh World και το name σε Hell. Από το Components Pallete, κάνουμε κλικ στο εικονίδιο button και κλικ στο form για να εμφανιστεί ένα κουμπί. Επίσης κάνουμε κλικ στο εικονίδιο label και μετά κλικ στο form για να εμφανιστεί ένα νέο label.

Hell, oh World To αρχικό form θα πάρει την μορφή

Hell, oh World Κάνουμε διπλό κλικ στο button για να γράψουμε κώδικα. Προσθέτουμε την εντολή Label1.Caption := 'Hell, oh World';

Hell, oh World Κάνοντας κλικ στο εικονίδιο run εκτελείται το πρόγραμμα, το οποίο, με το που πατάμε το button, εμφανίζει Hell, oh World

ΤΕΛΟΣ