Ποια γλώσσα χρησιμοποιείται στους Δελφούς. Σχετικά με τον προγραμματισμό και τους Δελφούς

Δικτυακός τόπος:

Δελφοί(Δελφοί, προφέρεται /ˈdɛlˌfi:/ακούστε)) είναι μια επιτακτική, δομημένη, αντικειμενοστραφή γλώσσα προγραμματισμού, μια διάλεκτος του Object Pascal. Ξεκινώντας με το περιβάλλον ανάπτυξης Delphi 7.0, ο Borland άρχισε να χρησιμοποιεί το όνομα Delphi για να αναφέρεται στη γλώσσα Object Pascal στα επίσημα έγγραφα. Από το 2007, η γλώσσα Delphi (που προέρχεται από το Object Pascal) άρχισε να ζει τη δική της ανεξάρτητη ζωή και υπέστη διάφορες αλλαγές που σχετίζονται με τις σύγχρονες τάσεις (για παράδειγμα, με την ανάπτυξη της πλατφόρμας .NET) στην ανάπτυξη γλωσσών προγραμματισμού: class helpers, υπερφόρτωση χειριστή και εμφανίστηκαν άλλα.

Πλατφόρμα στόχου

Αρχικά, το περιβάλλον ανάπτυξης προοριζόταν αποκλειστικά για την ανάπτυξη εφαρμογών Microsoft Windows, στη συνέχεια εφαρμόστηκε και για πλατφόρμες Linux (ως Kylix), ωστόσο, μετά την κυκλοφορία του Kylix 3 το 2002, η ανάπτυξή του διακόπηκε και, λίγο αργότερα, ανακοινώθηκε υποστήριξη για το Microsoft .NET.

Η υλοποίηση του περιβάλλοντος ανάπτυξης από το έργο Lazarus (Free Pascal, μεταγλωττισμένο σε λειτουργία συμβατότητας Delphi) επιτρέπει τη χρήση του για τη δημιουργία εφαρμογών Delphi για πλατφόρμες όπως το Linux, το Mac OS X και τα Windows CE.

Έχουν επίσης γίνει προσπάθειες να χρησιμοποιηθεί η γλώσσα σε έργα GNU (όπως το Σημειωματάριο GNU) και να γραφτεί ένας μεταγλωττιστής για το GCC.

Ιστορία της γλώσσας

Το αντικείμενο Pascal είναι το αποτέλεσμα της ανάπτυξης της γλώσσας Turbo Pascal, η οποία, με τη σειρά της, αναπτύχθηκε από τη γλώσσα Pascal. Η Pascal ήταν μια εντελώς διαδικαστική γλώσσα, η Turbo Pascal, ξεκινώντας από την έκδοση 5.5, πρόσθεσε αντικειμενοστρεφείς ιδιότητες στο Pascal και δυναμική αναγνώριση τύπου δεδομένων στο Object Pascal με δυνατότητα πρόσβασης στα μεταδεδομένα κλάσης (δηλαδή, την περιγραφή των κλάσεων και των μελών τους). σε μεταγλωττισμένο κώδικα, που ονομάζεται επίσης ενδοσκόπηση - αυτή η τεχνολογία ονομάζεται RTTI. Εφόσον όλες οι κλάσεις κληρονομούν τις συναρτήσεις της βασικής κλάσης TObject, οποιοσδήποτε δείκτης σε ένα αντικείμενο μπορεί να μετατραπεί σε αυτό και στη συνέχεια να χρησιμοποιήσει τη μέθοδο ClassType και τη συνάρτηση TypeInfo, η οποία θα παρέχει ενδοσκόπηση.

Ένα άλλο χαρακτηριστικό γνώρισμα του Object Pascal από την C++ είναι ότι τα αντικείμενα βρίσκονται στη δυναμική μνήμη από προεπιλογή. Ωστόσο, μπορείτε να παρακάμψετε τις εικονικές μεθόδους NewInstance και FreeInstance της κλάσης TObject. Έτσι, απολύτως οποιαδήποτε τάξη μπορεί να εκπληρώσει την «επιθυμία» «όπου θέλω, θα ξαπλώσω εκεί». Η «πολυομαδοποίηση» οργανώνεται ανάλογα.

Το αντικείμενο Pascal (Δελφοί) είναι το αποτέλεσμα μιας λειτουργικής επέκτασης του Turbo Pascal.

Οι Delphi είχαν τεράστια επιρροή στη δημιουργία της γλωσσικής ιδέας για την πλατφόρμα .NET. Πολλά από τα στοιχεία και τις εννοιολογικές λύσεις του συμπεριλήφθηκαν στη C#. Ένας από τους λόγους είναι η μεταγραφή του Anders Hejlsberg, ενός από τους κορυφαίους προγραμματιστές της Delphi, από την Borland Ltd. στη Microsoft Corp.

  • Η έκδοση 8 είναι σε θέση να δημιουργεί bytecode αποκλειστικά για την πλατφόρμα .NET. Αυτό είναι το πρώτο περιβάλλον που επικεντρώνεται στην ανάπτυξη πολυγλωσσικών εφαρμογών (μόνο για την πλατφόρμα .NET).
  • Οι επόμενες εκδόσεις (που υποδεικνύονται βάσει ετών έκδοσης αντί για σειριακούς αριθμούς όπως προηγουμένως) μπορούν να παράγουν εφαρμογές Win32 και bytecode για την πλατφόρμα .NET.

Ωστόσο, τον Νοέμβριο του ίδιου έτους, αποφασίστηκε να εγκαταλειφθεί η πώληση της επιχείρησης IDE. Ωστόσο, την ανάπτυξη των προϊόντων IDE θα αναλάβει πλέον μια νέα εταιρεία - η CodeGear, η οποία θα ελέγχεται πλήρως οικονομικά από την Borland.

Τον Αύγουστο του 2006, η Borland κυκλοφόρησε μια ελαφριά έκδοση του RAD Studio με το όνομα Turbo: Turbo Delphi (για Win32 και .NET), Turbo C#, Turbo C++.

Τον Μάρτιο του 2008, ανακοινώθηκε ότι η ανάπτυξη αυτής της σειράς προϊόντων θα διακοπεί.

Τον Μάρτιο του 2007, το CodeGear ευχαρίστησε τους χρήστες με την ενημερωμένη σειρά των Delphi 2007 για προϊόντα Win32 και την κυκλοφορία ενός εντελώς νέου προϊόντος, του Delphi 2007 για PHP.

Τον Ιούνιο του 2007, η CodeGear παρουσίασε τα σχέδιά της για το μέλλον, δημοσίευσε δηλαδή τον λεγόμενο οδικό χάρτη.

Embarcadero RAD Studio 2010

  • Από προεπιλογή, πλήρης υποστήριξη Unicode σε όλα τα μέρη της γλώσσας, VCL και RTL. αντικατάσταση των κλήσεων σε όλες τις λειτουργίες του Windows API με αναλογικά Unicode (δηλαδή, το MessageBox καλεί το MessageBoxW, όχι το MessageBoxA).
  • Γενικευμένοι τύποι, aka γενόσημα.
  • Νέα οδηγία μεταγλωττιστή $POINTERMATH.
  • Η συνάρτηση Exit μπορεί πλέον να δέχεται παραμέτρους ανάλογα με τον τύπο της λειτουργίας.

Μεταγλωττιστές

  • Το Embarcadero Delphi (πρώην CodeGear Delphi και Borland Delphi) είναι ίσως ο πιο διάσημος μεταγλωττιστής που είναι διάδοχος του Borland Pascal και του Turbo Pascal. Χρησιμοποιεί Win16 (Delphi 1), Win32 (Delphi 2 και νεότερο), Win64 (Delphi 16 (XE2) και νεότερο), καθώς και .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Η υποστήριξη .NET στη συνέχεια διασπάστηκε σε ένα ξεχωριστό προϊόν γνωστό ως Oxygene.
  • Το Free Pascal (FPC) είναι ένας δωρεάν μεταγλωττιστής Object Pascal που υποστηρίζει διάφορες διαλέκτους Pascal, συμπεριλαμβανομένων των Turbo Pascal, Delphi και των δικών του διαλέκτων. Επί του παρόντος, το FPC μπορεί να δημιουργήσει κώδικα για επεξεργαστές x86, x86-64, PowerPC, SPARC και ARM, καθώς και για διάφορα λειτουργικά συστήματα, συμπεριλαμβανομένων των Microsoft Windows, Linux, FreeBSD, Mac OS. Υπάρχουν πολλά περιβάλλοντα ανάπτυξης λογισμικού για το FPC (ένας από τους πιο διάσημους εκπροσώπους είναι ο Lazarus).
  • GNU Pascal (ξεχωριστά αναπτυγμένη έκδοση από το GCC). Δεν στοχεύει να συνεχίσει τη σειρά των διαλέκτων των Δελφών ως μέρος του Pascal, αλλά παρόλα αυτά περιέχει μια λειτουργία συμβατότητας για το Borland Pascal και πολύ αργά φιλοξενεί στοιχεία της γλώσσας των Δελφών. Δεν είναι κατάλληλο για τη μεταγλώττιση μεγάλων έργων που περιέχουν κώδικα Δελφών, αλλά αξίζει να σημειωθεί ότι τα περισσότερα λειτουργικά συστήματα και αρχιτεκτονικές τον υποστηρίζουν.
  • Οξυγόνο (παλαιότερα γνωστό ως Χρώμιοακούστε)) είναι ένας μεταγλωττιστής Object Pascal που είναι ενσωματωμένος στο Microsoft Visual Studio. Διατίθεται επίσης ως μεταγλωττιστής με δωρεάν γραμμή εντολών CLI. Χρησιμοποιεί πλατφόρμες .NET και mono. Επί του παρόντος πωλείται με την επωνυμία Embarcadero Delphi Prism.
  • Η MIDletPascal είναι μια γλώσσα προγραμματισμού με σύνταξη τύπου Delphi και μεταγλωττιστή με το ίδιο όνομα που μετατρέπει τον πηγαίο κώδικα σε συμπαγή και γρήγορο bytecode Java.
  • PocketStudio - Βασισμένο σε Pascal, IDE για Palm OS.
  • Virtual Pascal - Δωρεάν μεταγλωττιστής και IDE κειμένου για Win32, OS/2 και Linux. Εκείνη την εποχή ήταν πολύ γρήγορο και πολύ συμβατό (υποστηρίζονται εν μέρει τα σχέδια Delphi 5). Εξωτερικά, μοιάζει πολύ με το περιβάλλον κειμένου Borland Pascal 7, αν και δεν υπάρχουν γραφικά συμβατά με αυτό, για παράδειγμα. Ωστόσο, η ανάπτυξη τελείωσε το 2004 και ο πηγαίος κώδικας δεν ήταν ανοιχτός. Από τότε, το FPC έχει προχωρήσει πολύ και είναι γενικά καλύτερο για προγραμματισμό. Ωστόσο, το VP παραμένει μια πολύ καλή επιλογή για γρήγορη αντικατάσταση ακόμη πιο ξεπερασμένων εκδόσεων του Borland Pascal για σχολείο/ινστιτούτο, δεδομένης της εγγενούς εργασίας του στο Win32 χωρίς προβλήματα με τις ρωσικές κωδικοποιήσεις.

Σύνταξη γλώσσας

χειριστές

Λίστα τελεστών που χωρίζονται με κενά: := + - * / div mod not και ή με xor shl shr ^ =<> >= <= < >Το @in είναι ως

Εκφράσεις

Οι εκφράσεις στο Object Pascal (Delphi) μπορεί να είναι αριθμητικές, λογικές ή συμβολοσειρά.

Βασικές λογικές εκφράσεις:
Οι λογικές εκφράσεις χρησιμοποιούνται κυρίως σε προτάσεις υπό όρους. Οι λογικές εκφράσεις περιλαμβάνουν λειτουργίες όπως:

  • όχι - "ΟΧΙ", άρνηση μιας λογικής έκφρασης (ΟΧΙ<логическое_выражение>)
  • και - "Και", πολλαπλασιασμός (τομή) λογικών εκφράσεων (<логическое_выражение1>ΚΑΙ<логическое_выражение2>)
  • ή - "OR", που συνδυάζει λογικές εκφράσεις (<логическое_выражение1>Ή<логическое_выражение2>)
  • xor - "Αποκλειστικό OR", άρνηση του OR, οτιδήποτε δεν εμπίπτει στο OR (<логическое_выражение1>XOR<логическое_выражение2>)

Τύποι δεδομένων

Τα δεδομένα που επεξεργάζονται στο πρόγραμμα χωρίζονται σε μεταβλητές, σταθερές και κυριολεκτικά. Οι σταθερές είναι δεδομένα των οποίων οι τιμές ορίζονται στην ενότητα σταθερής δήλωσης και δεν αλλάζουν κατά την εκτέλεση του προγράμματος.

Αντικείμενα

  • Προϊόντα Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder εκδόσεις 1 και 2.
  • Διαχείριση και ανάπτυξη βάσεων δεδομένων: MySQL Tools, IBExpert.
  • Λογισμικό μηχανικής: Altium Designer.
  • Διαχειριστές αρχείων: Total Commander, Frigate.
  • Προβολές γραφικών: FastStone Image Viewer, FuturixImager, drComRead.
  • Συσκευές αναπαραγωγής βίντεο και ήχου: Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Προγράμματα ανταλλαγής άμεσων μηνυμάτων: QIP, R&Q, Skype GUI, The Bat! , PopTray , FeedDemon .
  • Δημιουργία μουσικής: FL Studio, Guitar Pro (έως έκδοση 6.0).
  • Ανάπτυξη λογισμικού: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Ανάπτυξη Ιστού: Macromedia HomeSite.
  • Επεξεργαστές κειμένου: BirEdit, Notepad GNU, Bred.
  • Λογιστική και φορολογία: “PARUS”, AVARDA (μέχρι την έκδοση 6.x συμπεριλαμβανομένης).
  • Προγράμματα για τη δημιουργία κινούμενων εικόνων: Pivot Stickfigure Animator.
  • Προγράμματα συμπίεσης δεδομένων: ALZip, PowerArchiver, PeaZip.
  • Παιχνίδια υπολογιστή: Age of wonders, Space Rangers, Venom. Κωδικό όνομα: Outbreak, Space Empires V, "The Truth about the Ninth Company."
  • Επιμελητές γραφικών: Real Paint.

Σημειώσεις

Βιβλιογραφία

  • Neil J. Rubenking.Γλώσσα προγραμματισμού Delphi για ανδρείκελα. Εισαγωγή στο Borland Delphi 2006 = Delphi for Dummies. - Μ.: Διαλεκτική, 2007. - 336 σελ. - ISBN 0-7645-0179-8
  • Χαβιέ Πασέκου.Προγραμματισμός στο Borland Delphi 2006 για επαγγελματίες = Delphi for .NET Developer’s Guide. - Μ.: Williams, 2006. - 944 σελ. - ISBN 0-672-32443-X
  • A. N. Valvachev, K. A. Surkov, D. A. Surkov, Yu. M. Chetyrko.Προγραμματισμός στη γλώσσα Delphi. Φροντιστήριο . - 2005.

Συνδέσεις

  • Σελίδα περιβάλλοντος προγραμματισμού στον ιστότοπο Embarcadero Technologies

Έτσι, σε αυτό το άρθρο θα μιλήσουμε για τον τρόπο προσδιορισμού του bit του λειτουργικού συστήματος των Windows κατά τον προγραμματισμό στους Δελφούς. Αυτό είναι απαραίτητο προκειμένου, για παράδειγμα, να επιλέξετε μία ή άλλη έκδοση προγράμματος οδήγησης - x86 (32 bit) ή x64 (64 bit).

Λοιπόν, ας ξεκινήσουμε.

Ας δημιουργήσουμε ένα νέο έργο και ας προσθέσουμε ένα στοιχείο Label στη φόρμα.

Στη συνέχεια πηγαίνουμε στον επεξεργαστή πηγαίου κώδικα και στην ενότητα με τις μεταβλητές var, προσθέτουμε τη μεταβλητή string razr (τύπος δεδομένων συμβολοσειράς, δηλ. συμβολοσειρά).

var Form1: TForm1;

razr: χορδή;

Μετά από αυτό, κάντε διπλό κλικ στη φόρμα, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα σε αυτήν (στη διαδικασία δημιουργίας της κύριας φόρμας TForm1.FormCreate), μεταξύ των φράσεων αρχίζουν και τέλος; (δηλαδή η αρχή και το τέλος της διαδικασίας).

(χρησιμοποιώντας τη συνάρτηση Get Environment Variable διαβάζουμε την τιμή της μεταβλητής ProgramFiles(X86)

εάν το σύστημα είναι 32-bit, τότε θα έχει μια κενή τιμή

αν είναι 64-bit, τότε θα έχει γνώση C:Program Files(x86)

δηλαδή ο φάκελος στον οποίο είναι εγκατεστημένες εκδόσεις 32-bit προγραμμάτων)

razr:= GetEnvironmentVariable("ProgramFiles(x86)");

label1.Caption:= razr;

αν (razr = "") τότε

αρχίζουν

label1.Font.Color:=clRed; (Αλλάζει το χρώμα της επιγραφής, μπορείτε να επιλέξετε οποιοδήποτε σύμφωνα με το γούστο σας, για παράδειγμα clGreen - πράσινο)

label1.Caption:= "Έχετε x86"; (αντί για το όνομα της ετικέτας labl1 μπορείτε να γράψετε οτιδήποτε άλλο, για παράδειγμα metka)

αλλού

αρχίζουν

label1.Font.Color:=clΜπλε; (Αλλάζει το χρώμα της επιγραφής, μπορείτε να επιλέξετε οποιοδήποτε σύμφωνα με το γούστο σας, για παράδειγμα clGreen - πράσινο)

label1.Caption:= "Έχετε x64";

τέλος;

Πώς λειτουργεί το πρόγραμμα;

Η συνάρτηση Get Environment Variable διαβάζει την τιμή μιας μεταβλητής περιβάλλοντος στα Windows ProgramFiles (X86).

Εάν το σύστημα είναι 32-bit, τότε θα έχει μια κενή τιμή.

Εάν είναι 64-bit, τότε θα έχει τη γνώση C:Program Files(x86), δηλαδή αυτός είναι ο φάκελος στον οποίο είναι εγκατεστημένες οι εκδόσεις των προγραμμάτων 32-bit.

Στην πραγματικότητα, αυτό είναι όλο.

Αυτό μου συνέβη.

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


Σχόλια ()

wdfm 90

Το πρόγραμμα λειτουργεί καλά σε Windows 7 x64, μπορείτε να το χρησιμοποιήσετε

Εδουάρδος 300

Όποιος ξεκινήσει ένα off-topic + άσεμνη γλώσσα θα αποκλειστεί για 1 ημέρα! Αυτό δεν ισχύει για τους διαχειριστές.
.php?board=18.0

Δεν δημιούργησα αυτό το φόρουμ για τίποτα!

Εδουάρδος 300

Εισαγωγή

Αυτές οι οδηγίες έχουν σχεδιαστεί για να βοηθήσουν τους μαθητές να αποκτήσουν πρακτικές δεξιότητες στην τεχνολογία του οπτικού σχεδιασμού των δικών τους εφαρμογών για Windows στο περιβάλλον των Delphi χρησιμοποιώντας αντικειμενοστραφή μεθοδολογία προγραμματισμού. Η εργαστηριακή εργασία καλύπτει τα κύρια στάδια ανάπτυξης προγράμματος για Windows.

Οι οδηγίες αποτελούνται από τρεις ενότητες. Η πρώτη ενότητα περιγράφει τις βασικές έννοιες του σχεδιασμού οπτικών εφαρμογών και του περιβάλλοντος προγραμματισμού Delphi, ενώ η δεύτερη ενότητα διατυπώνει γενικές απαιτήσεις για την υλοποίηση και παρουσίαση των εργαστηριακών αποτελεσμάτων. Η τρίτη ενότητα αποτελείται από περιγραφές συγκεκριμένων εργαστηριακών εργασιών με τις απαραίτητες σύντομες θεωρητικές πληροφορίες, παραδείγματα σχεδιασμού προγράμματος, συστάσεις για την εκτέλεση εργασιών, παραλλαγές εργασιών για την εκτέλεση εργασιών και ερωτήσεις για αυτοέλεγχο. Για την ολοκλήρωση της εργασίας, οι μαθητές πρέπει να είναι εξοικειωμένοι με τη γλώσσα Object Pascal και το περιβάλλον οπτικού προγραμματισμού Delphi.

Βασικές έννοιες και ορισμοί των Δελφών

οπτικός πίνακας προγράμματος delphi

Η οθόνη μετά την εκκίνηση του Delphi περιέχει τέσσερα παράθυρα: το κύριο παράθυρο, τις φόρμες, τον επιθεωρητή αντικειμένων και τον επεξεργαστή κώδικα, ο οποίος καλύπτεται σχεδόν πλήρως από το παράθυρο φόρμας.

Το κύριο παράθυρο περιέχει το μενού εντολών Delphi, τη γραμμή εργαλείων και την παλέτα στοιχείων.

Το παράθυρο φόρμας, ο τίτλος του FORM1, αντιπροσωπεύει ένα πρότυπο, μια διάταξη ενός από τα αντικείμενα της εφαρμογής που αναπτύσσεται.

Το παράθυρο Object Inspector, ο τίτλος του Object Inspector σάς επιτρέπει να βλέπετε και να αλλάζετε τις ιδιότητες των αντικειμένων του έργου. Μετά την εκκίνηση του Delphi, αυτό το παράθυρο εμφανίζει τις ιδιότητες της φόρμας FORM1.

Το παράθυρο του επεξεργαστή κώδικα προορίζεται για τη δημιουργία διαδικασιών χειρισμού συμβάντων. Στους Δελφούς, ο κώδικας είναι το κείμενο ενός προγράμματος.

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

Οι ιδιότητες ενός αντικειμένου είναι, για παράδειγμα, το μέγεθος του κειμένου τίτλου, το χρώμα φόντου της φόρμας ή το κείμενο στο κουμπί εντολής και πολλά άλλα· μια πλήρης λίστα ιδιοτήτων μπορεί να δει κανείς στο παράθυρο Επιθεωρητής αντικειμένων για το επιλεγμένο αντικείμενο.

Ένα συμβάν είναι κάτι που συμβαίνει ενώ εκτελείται η εφαρμογή που δημιουργήσατε. Στους Δελφούς, κάθε συμβάν έχει ένα όνομα, για παράδειγμα, ένα κλικ του ποντικιού είναι ένα συμβάν OnClick, ένα διπλό κλικ είναι ένα συμβάν OnDblClick.

Έργο είναι ένα σύνολο αρχείων (μονάδες προγράμματος - modules), χρησιμοποιώντας τα οποία ο μεταγλωττιστής δημιουργεί ένα εκτελέσιμο αρχείο προγράμματος. Ένα από τα αρχεία έργου, που ονομάζεται αρχείο έργου και με επέκταση dpr, περιέχει μια γενική περιγραφή του έργου. Το αρχείο έργου είναι η κύρια ενότητα εφαρμογής που δημιουργείται από τους Delphi. Εκτός από την κύρια ενότητα, το έργο περιλαμβάνει μία ή περισσότερες ενότητες (Μονάδες). Τα αρχεία ενότητας έργου (Μονάδα) περιέχουν τα κείμενα διαδικασιών, συναρτήσεων, περιγραφές τύπων, καθώς και όλες τις πληροφορίες για τη δημιουργία ενός εκτελέσιμου προγράμματος και έχουν την επέκταση pas. Μια διαδικασία είναι μια ομάδα τελεστών σε μια γλώσσα προγραμματισμού που σας επιτρέπει να εκτελέσετε συγκεκριμένες ενέργειες (επιλύστε ένα πρόβλημα). Με τον ένα ή τον άλλο τρόπο, όλος ο εκτελέσιμος κώδικας που μεταγλωττίσατε για προετοιμασία τοποθετείται απαραίτητα σε κάποια διαδικασία.

Μια ενότητα αποτελείται από τρεις ενότητες: διεπαφή (ξεκινά με τη λέξη διεπαφή), υλοποίηση (ξεκινά με τη λέξη υλοποίηση) και. Παρακάτω είναι η δομή της ενότητας.

unitModuleName;

(Ακολουθούν περιγραφές των διαδικασιών και των λειτουργιών αυτής της ενότητας που μπορούν να χρησιμοποιηθούν από άλλες ενότητες)

(Ακολουθούν δηλώσεις των καθολικών σταθερών της ενότητας που μπορούν να χρησιμοποιηθούν από διαδικασίες και συναρτήσεις ενότητας)

(Ακολουθούν δηλώσεις των καθολικών τύπων λειτουργικών μονάδων που μπορούν να χρησιμοποιηθούν από διαδικασίες και λειτουργίες λειτουργιών)

(Ακολουθούν δηλώσεις των καθολικών μεταβλητών της ενότητας που μπορούν να χρησιμοποιηθούν από διαδικασίες και συναρτήσεις ενότητας)

(Ακολουθούν περιγραφές των διαδικασιών και των λειτουργιών της ενότητας)

(Οδηγίες για την ενότητα προετοιμασίας μεταβλητής μονάδας βρίσκονται εδώ)

Έτσι, η ενότητα διασύνδεσης λέει στον μεταγλωττιστή ποιο μέρος της μονάδας είναι προσβάσιμο σε άλλες μονάδες προγράμματος. Η ενότητα υλοποίησης ξεκινά με μια οδηγία ($R*.DFM), η οποία λέει στον μεταγλωττιστή να χρησιμοποιήσει μια περιγραφή φόρμας κατά τη δημιουργία του εκτελέσιμου αρχείου. η περιγραφή της φόρμας βρίσκεται σε ένα αρχείο με την επέκταση dfm, το όνομα του οποίου ταιριάζει με το όνομα της ενότητας. Η οδηγία ($R*.DFM) ακολουθείται από διαδικασίες χειρισμού συμβάντων για τη φόρμα και τα στοιχεία της. Ο προγραμματιστής μπορεί επίσης να τοποθετήσει ανεπτυγμένες διαδικασίες και λειτουργίες εδώ. Εάν η ενότητα προετοιμασίας δεν περιέχει οδηγίες, τότε η λέξη αρχή δεν καθορίζεται.

Η Delphi είναι μια γλώσσα προγραμματισμούκαι περιβάλλον ανάπτυξης λογισμικού. Αναπτύχθηκε από την Borland (παλαιότερα γνωστή ως Inprise). Γλώσσα προγραμματισμού Delphi, παλαιότερα γνωστή ως Αντικείμενο Pascal(Pascal με Object Oriented Extensions), που αρχικά στόχευε μόνο στα Microsoft Windows, αλλά τώρα σας επιτρέπει να δημιουργείτε εγγενείς εφαρμογές για Linux και Microsoft. NET Framework και άλλα (δείτε παρακάτω). Προγραμματισμός για αρχάριους.
Η πιο δημοφιλής χρήση είναι η ανάπτυξη επιτραπέζιων εφαρμογών και εταιρικών βάσεων δεδομένων, και ως εργαλείο η γλώσσα προγραμματισμού Delph Καιμπορεί να χρησιμοποιηθεί για τους περισσότερους τύπους αναπτυξιακών έργων. Ήταν μια από τις πρώτες γλώσσες που έγινε γνωστή ως εργαλείο RAD (Rapid Application Development) όταν κυκλοφόρησε το 1995. Το Delphi 2, που κυκλοφόρησε ένα χρόνο αργότερα, υποστήριξε το περιβάλλον των Windows 32-bit και μόλις λίγα χρόνια αργότερα κυκλοφόρησε το C, C++ Builder. Το 2001, μια έκδοση Linux έγινε διαθέσιμη γνωστή ως Kylix (κλασική ελληνική λάρνακα). Κάθε χρόνο υπήρχε μια νέα έκδοση, το 2002 το προϊόν έγινε γνωστό ως Delphi 7 Studio, η γλώσσα ονομάστηκε επίσημα γλώσσα προγραμματισμού Delphi αντί για Object Pascal και προστέθηκε υποστήριξη για Linux (μέσω Kylix) και. NET (μέσω του Precompiler). Πλήρης υποστήριξη. Το NET έχει προγραμματιστεί για το επερχόμενο Delphi 8. Προγραμματισμός για ομοιώματα.
Τα κύρια στοιχεία των Delphi και Kylix: η γλώσσα Delphi (παλαιότερα επίσημα γνωστή ως γλώσσα Object Pascal), VK/CLX (Visual Component Library), ισχυρές συνδέσεις βάσεων δεδομένων, σε συνδυασμό με ένα ισχυρό IDE (Integrated Development Environment) και πρόσθετα εργαλεία υποστήριξης.
Τα σπουδαία χαρακτηριστικά της γλώσσας των Δελφών περιλαμβάνουν:

  • Διαφανής χειρισμός αντικειμένων μέσω αναφορών ή δεικτών
  • Ιδιότητες ως μέρος της γλώσσας, σε συνδυασμό με λειτουργίες Get and Set που ενσωματώνουν με διαφάνεια την πρόσβαση στα μέλη πεδίου
  • Ευρετήριο και προεπιλεγμένες ιδιότητες που παρέχουν πρόσβαση στη συλλογή με βολικό και διαφανή τρόπο
  • Εκπρόσωποι ή αλλιώς μέθοδοι δείκτη που είναι ασφαλείς για τον τύπο, που χρησιμοποιούνται για την ενεργοποίηση συμβάντων που προκαλούνται από στοιχεία
  • Ανάθεση υλοποίησης διεπαφής σε πεδίο ή ιδιότητα μιας κλάσης
  • Εύκολη εφαρμογή χειριστών μηνυμάτων των Windows, επισημάνετε μια μέθοδο κλάσης με τον αριθμό/όνομα του πλαισίου μηνυμάτων που θέλετε να χειριστείτε
  • Τα περισσότερα από τα χαρακτηριστικά που αναφέρονται παραπάνω εισήχθησαν πρώτα στους Δελφούς και υιοθετήθηκαν σε άλλες γλώσσες αργότερα.

Ο κύριος αρχιτέκτονας των Δελφών, και ο προκάτοχός του Turbo Pascal, ήταν ο Anders Hejlsberg μέχρι που μετακόμισε στη Microsoft το 1996 για να αφιερώσει τη δουλειά του στις βασικές αρχές προγραμματισμού.
Το προϊόν Delphi διανέμεται σε διάφορες συσκευασίες, καθεμία από τις οποίες προσφέρει περισσότερη λειτουργικότητα από τις άλλες:

  • Προσωπικός
  • Επαγγελματίας
  • Εταιρία
  • Αρχιτέκτονας

Καλοί λόγοι για να χρησιμοποιήσετε το Delphi:

  • Πολύ ενημερωτικά και χρήσιμα νέα για την κοινότητα
  • Μπορεί να μεταγλωττιστεί σε ένα μόνο εκτελέσιμο αρχείο, διευκολύνοντας τη διανομή και τη μείωση προβλημάτων με διαφορετικά DLL
  • Τα στοιχεία VCL και τρίτων είναι γενικά διαθέσιμα με πλήρη πηγαίο κώδικα
  • Ισχυρός και γρήγορος μεταγλωττιστής βελτιστοποίησης
  • Ένας πηγαίος κώδικας παράγει εξαιρετικούς κωδικούς μηχανής για διαφορετικά λειτουργικά συστήματα
  • Υποστήριξη για τις πιο πρόσφατες τεχνολογίες και πρότυπα

Κλώνοι και εναλλακτικές λύσεις

Αν και δεν είναι σε θέση να ικανοποιήσει όλες τις ανάγκες των προγραμματιστών, υπάρχει μια ολόκληρη σειρά πρόσθετων εργαλείων που έχουν σχεδιαστεί για να επεκτείνουν το εύρος των εργασιών που επιλύονται χρησιμοποιώντας το Delphi, ή αυτό μπορεί να γίνει με την εισαγωγή κώδικα σε άλλες γλώσσες όπου είναι οι Delphi και Kylix ανίσχυρος.
Αυτά τα υποκατάστατα Delphi μπορούν να χρησιμοποιηθούν εάν δεν μπορείτε να πληρώσετε για ένα περιβάλλον ανάπτυξης, χρειάζεστε δωρεάν περιβάλλοντα ανάπτυξης (για παράδειγμα, για λειτουργικά συστήματα και δωρεάν λογισμικό ή για εκπαιδευτικούς σκοπούς). Στις περισσότερες περιπτώσεις, αυτές οι εναλλακτικές λύσεις χρησιμοποιούνται για εκπαίδευση, καθώς και για εγγραφή στοιχείων διακομιστή, για λειτουργικά συστήματα που δεν χρησιμοποιούνται ευρέως (αυτό ήταν μέχρι να εμφανιστεί το Kylix για το Linux OS, το οποίο χρησιμοποιείται από την πλειοψηφία ως λειτουργικό σύστημα για διακομιστές ) . .
Ας παραθέσουμε μερικά:

  • Το Free Pascal είναι μια αντικατάσταση που έρχεται ως μεταγλωττιστής που εκτελείται από τη γραμμή εντολών. Αυτή η εξέλιξη βασίζεται στη συμβατότητα με το βασικό σύνολο λειτουργιών και των δύο διαλέκτων Turbo Pascal και Delphi. Οι δυνατότητες των εκδόσεων Delphi πάνω από 4 υλοποιούνται και λειτουργούν. Λειτουργεί στα περισσότερα λειτουργικά συστήματα x86, συμπεριλαμβανομένων των Win32, Dos, Linux, BSD και Novell Netware. Δεν υπάρχει υποστήριξη για άλλα λειτουργικά συστήματα στο m68k και το PowerPC, η κατάσταση των οποίων εξακολουθεί να αλλάζει πολύ γρήγορα. Οι εργασίες για τη μεταφορά στην πλατφόρμα SPARC έχουν ξεκινήσει.
  • Το GNU Pascal (ένα χωριστά κατανεμημένο μέρος της συλλογής μεταγλωττιστών GNU), αν και επίσημα δεν στοχεύει στις διαλέκτους Borland Pascal, περιέχει συμβατότητα με το Borland Pascal και απορροφά σταδιακά τα χαρακτηριστικά της γλώσσας των Δελφών, αν και δεν είναι κατάλληλη για την ανασύνταξη μεγάλων ποσοτήτων Κώδικας Δελφών. Είναι ο πιο παραγωγικός μεταγλωττιστής όσον αφορά τα λειτουργικά συστήματα και τους επεξεργαστές, αν και αξίζει να αναφερθεί μόνο ως έσχατη λύση.
  • Υπάρχει ένα εργαλείο που ονομάζεται Pocket studio που στοχεύει να μεταγλωττίσει τον απογυμνωμένο κώδικα Delphi για Pocket PC.
  • Virtual Pascal - μεταγλωττιστής, x86 32-bit Turbo Pascal και Delphi, συμβατοί κυρίως με OS/2 και Windows, αν και έχουν αναπτυχθεί μια επέκταση DOS και μια πειραματική cross-compiler Linux. Ο μεταγλωττιστής έχει κολλήσει γύρω από την έκδοση 2 των Δελφών και ο ιστότοπος δεν έχει αλλάξει πολύ εδώ και δύο χρόνια, αλλά εναλλακτικά είναι άλλος ένας από τους καλύτερους, με εξαιρετικό IDE και πρόγραμμα εντοπισμού σφαλμάτων, αν και το Free Pascal δεν είναι καθόλου χαζό.
  • Το BloodShed διανέμει ένα πολύ καλό πρόγραμμα επεξεργασίας γραφικών Win32 (αν και όχι RAD) ως διεπαφή στο GNU Pascal και στο Free Pascal.
  • Οι προσπάθειες του Lazarus στοχεύουν στη δημιουργία ενός περιβάλλοντος ανάπτυξης για το Free Pascal. Ενώ η θύρα GTK γίνεται χρήσιμη για τη σύνταξη μικρών εφαρμογών, όπως τα εργαλεία διαμόρφωσης, η θύρα win32 χρειάζεται ακόμα πολλή δουλειά.
  • Το InnerFuse είναι ένας μεταφραστής Delphi για ενσωμάτωση σε εφαρμογές. Υπάρχουν φήμες που λειτουργούν με αρκετές εκδόσεις των Δελφών.
  • Το WDOSX είναι ένα API εξομοίωσης Win32 DOS Extender που μπορεί να χρησιμοποιηθεί για την εκτέλεση εφαρμογών κονσόλας γραμμένες στους Delphi σε κανονικό DOS.

Πώς να γίνετε επαγγελματίας ανάπτυξης ιστοσελίδων και να αρχίσετε να κερδίζετε χρήματα; Φθηνά μαθήματα βίντεο με εισαγωγική εισαγωγή.

Ας ξεκινήσουμε την εισαγωγή μας στον προγραμματισμό στο περιβάλλον των Δελφών με ερωτήσεις όπως η ουσία του ίδιου του προγραμματισμού, τα βασικά και οι υποτύποι του. Θα δούμε επίσης τι είναι το περιβάλλον των Δελφών, πώς διαφέρει από τα άλλα και ποια διαδρομή έχει διανύσει από την ίδρυσή του πριν από 10 χρόνια.

Τι είναι προγραμματισμός

Λοιπόν, πρώτα απ 'όλα, ας καταλάβουμε μόνοι μας τι σημαίνει ο όρος προγραμματισμός; Τώρα πολλοί άνθρωποι αυτοαποκαλούνται προγραμματιστές, χωρίς καν να γνωρίζουν τι είναι: όταν ελέγχεται, αποδεικνύεται ότι ένα άτομο που έχει αλλάξει μερικές γραμμές κώδικα σε ένα έγγραφο HTML είναι ήδη έτοιμο να θεωρήσει τον εαυτό του προγραμματιστή. Αλλά στην πραγματικότητα, δουλεύοντας με HTML (δηλαδή, την ίδια την HTML), δεν μπορείτε να γίνετε προγραμματιστής, αφού η HTML, όπως υποδηλώνει το όνομα (Γλώσσα σήμανσης υπερκειμένου), δεν είναι γλώσσα προγραμματισμού.

Ως αποτέλεσμα, έχουμε την πρώτη προϋπόθεση: για να μάθετε προγραμματισμό χρειάζεστε κάποιο είδος γλώσσας προγραμματισμού. Στην περίπτωσή μας, αυτές θα είναι οι πιο πρόσφατες εκδόσεις του Object Pascal (14.0 ή 15.0).

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

Άρα, ο προγραμματισμός στη σύγχρονη αντίληψη του περιλαμβάνει γνώση των αρχών λειτουργίας του λειτουργικού συστήματος, την αλληλεπίδραση των στοιχείων του και την εσωτερική δομή του. Λοιπόν, ταυτόχρονα, διατηρείται ο κλασικός ορισμός του προγραμματισμού, δηλαδή η ικανότητα σύνθεσης αλγορίθμων, μαθηματικών και συμπεριφορικών προγραμμάτων. Όλα αυτά υλοποιούνται στο πλαίσιο κάποιας γλώσσας προγραμματισμού, για παράδειγμα, του ίδιου Object Pascal από τους Delphi.

Τι είναι οι Δελφοί

Τώρα γνωρίζουμε ότι ο προγραμματισμός είναι η συλλογή αλγορίθμων συν τη χρήση μιας γλώσσας προγραμματισμού. Αν όμως η γλώσσα που μαθαίνουμε είναι το Object Pascal, τότε τι είναι το Delphi; Η απάντηση είναι: Το Delphi είναι το RAD, ή το Rapid Application Development - ένα περιβάλλον ταχείας ανάπτυξης εφαρμογών. Με άλλα λόγια, οι Delphi περιλαμβάνουν όχι μόνο όλα τα εργαλεία για την εργασία με τη γλώσσα Object Pascal (ειδικά επειδή, ξεκινώντας από την έκδοση 2005, η Delphi έχει υποστήριξη για άλλες γλώσσες προγραμματισμού, ιδιαίτερα τη C#), αλλά και μια σειρά από πρόσθετα εργαλεία που έχουν σχεδιαστεί για την ταχύτητα να βελτιώσει τη διαδικασία όσο το δυνατόν περισσότερο και να απλοποιήσει τη δημιουργία προγραμμάτων. Αυτά τα εργαλεία περιλαμβάνουν, πρώτα απ 'όλα, ένα πρόγραμμα επεξεργασίας οπτικών μορφών, με τη βοήθεια του οποίου μπορείτε να δημιουργήσετε ένα πλήρες πρόγραμμα σε λίγα λεπτά και χωρίς επιπλέον προσπάθεια, καθώς και άλλα στοιχεία του οπτικού στοιχείου της ανάπτυξης προγράμματος.

Ως αποτέλεσμα, ο χρόνος ανάπτυξης του προγράμματος μειώνεται σημαντικά, καθώς δεν χρειάζεται να υπολογιστεί με μη αυτόματο τρόπο η θέση κάθε στοιχείου διεπαφής χρήστη.

Μαζί με ανεπτυγμένα εργαλεία για τη σύνταξη και τον εντοπισμό σφαλμάτων κώδικα - έναν εξειδικευμένο επεξεργαστή κειμένου, έναν μεταγλωττιστή βελτιστοποίησης και έναν εντοπισμό σφαλμάτων, το Delphi είναι ένα εργαλείο για γρήγορη ανάπτυξη εφαρμογών. Ταυτόχρονα, η βάση του Delphi για τον τελικό χρήστη είναι το IDE - Integrated Development Environment, το οποίο συνδυάζει έναν επεξεργαστή κώδικα και εργαλεία οπτικής ανάπτυξης και επίσης το συνδέει με έναν μεταγλωττιστή, εργαλεία ανάπτυξης βάσεων δεδομένων και άλλα στοιχεία του Delphi.

Δελφοί και άλλοι

Φυσικά, οι Delphi δεν είναι το μόνο περιβάλλον ταχείας ανάπτυξης εφαρμογών. Υπάρχουν και άλλα RAD που είναι εξίσου χρήσιμα για την ανάπτυξη οπτικών προγραμμάτων, όπως η Visual Basic. Αλλά η BASIC δεν είναι γνωστή ως η πιο ισχυρή και βολική γλώσσα προγραμματισμού· επιπλέον, τα προγράμματα που είναι γραμμένα σε αυτήν χαρακτηρίζονται από σχετικά χαμηλή απόδοση.

Ταυτόχρονα, υπάρχουν γλώσσες προγραμματισμού που δεν είναι λιγότερο ισχυρές από το Object Pascal και έχουν τα δικά τους RAD - πρώτα απ 'όλα, αυτή είναι η γλώσσα C++ μαζί με γνωστά εργαλεία ανάπτυξης όπως το Visual C++ και το C++ Builder. Ωστόσο, η C++ δεν συγκρίνεται ευνοϊκά με το Object Pascal όσον αφορά την ευκολία εκμάθησης. Επιπλέον, η δημιουργία και ο εντοπισμός σφαλμάτων προγραμμάτων στη C++ είναι σχετικά αργή, αν και τα έτοιμα προγράμματα τρέχουν εξίσου γρήγορα με αυτά που δημιουργούνται με τη χρήση των Delphi.

ΣΗΜΕΙΩΣΗ
Σημειώστε ότι κατά την εμφάνισή του το 1995, το Delphi ήταν ένα πραγματικά μοναδικό περιβάλλον που συνδύαζε οπτικό προγραμματισμό με βελτιστοποιητικό μεταγλωττιστή και εργαλεία για εργασία με βάσεις δεδομένων.

Ως αποτέλεσμα, έχουμε ένα σχεδόν ιδανικό προϊόν για γρήγορη ανάπτυξη προγραμμάτων: αφενός, απλότητα και ευκολία συγκρίσιμες με τη Visual Basic και, αφετέρου, η ισχύς, η ταχύτητα και η ευελιξία που χαρακτηρίζουν τη C++.

Θα πρέπει να σημειωθεί εδώ ότι η γλώσσα Object Pascal που χρησιμοποιείται στους Δελφούς έχει λίγα κοινά με την προγονική της γλώσσα - τη γλώσσα προγραμματισμού Pascal, την οποία μπορεί να έχετε σπουδάσει στο σχολείο ή στο πανεπιστήμιο. Πρώτα απ 'όλα, οι Delphi χρησιμοποιούν ένα καθαρά αντικειμενοστραφή μοντέλο προγραμματισμού, ενώ η Pascal ήταν μια κανονική διαδικαστική γλώσσα. Ποια είναι η ουσία των διαφορών μεταξύ διαδικαστικού προγραμματισμού και αντικειμενοστρεφούς προγραμματισμού; Αυτό είναι το ερώτημα που θα συζητήσουμε στις επόμενες δύο παραγράφους.

Διαδικαστικός προγραμματισμός και αλγόριθμοι

Σχεδόν όλες οι σύγχρονες γλώσσες προγραμματισμού έχουν διαδικαστικό χαρακτήρα. Αυτό σημαίνει ότι κάθε πρόγραμμα αποτελείται από ένα σύνολο διαδικασιών, καθεμία από τις οποίες λύνει ένα συγκεκριμένο πρόβλημα, ενώ μια διαδικασία μπορεί να καλέσει οποιαδήποτε άλλη, συμπεριλαμβανομένου του εαυτού της (η τελευταία, δηλαδή μια διαδικασία που καλεί τον εαυτό της, ονομάζεται αναδρομή). Το ίδιο το πρόγραμμα συντάσσεται με βάση αλγορίθμους και μόνο τρεις ποικιλίες από αυτούς είναι επαρκείς - επιλογή (πιρούνι), επανάληψη (κύκλος) και μετάβαση. Ωστόσο, ο τελευταίος τύπος πρακτικά δεν χρησιμοποιείται στην πράξη λόγω της κακής του φήμης (μιλάμε για τον GOTO - τον άλλοτε αγαπημένο, από απελπισία, χειριστή των προγραμματιστών BASIC).

Ας δούμε τον απλούστερο αλγόριθμο - για το παιχνίδι "μάντεψε τον αριθμό". Η λογική της λειτουργίας του είναι ότι πρέπει να ελέγξετε αν ο αριθμός είναι μεγαλύτερος ή μικρότερος από τον κρυφό, και αν ναι, θα εμφανίσετε την αντίστοιχη υπόδειξη και αν δεν είναι ούτε μεγαλύτερος ούτε μικρότερος (δηλαδή ταιριάζει) τότε το παιχνίδι τελειώνει . Το μπλοκ διάγραμμα ενός τέτοιου αλγορίθμου θα αποτελείται από 2 κλάδους (Εικ. 1.1).

Ρύζι. 1.1. Διάγραμμα ροής απλού αλγορίθμου

Το πρώτο βήμα εδώ είναι να ζητήσετε από τον χρήστη έναν αριθμό Α, ο οποίος συγκρίνεται δύο φορές με έναν προκαθορισμένο αριθμό Β. Αρχικά, ελέγχει εάν ο αριθμός Α είναι μεγαλύτερος από το Β, και εάν ναι, το πρόγραμμα αναφέρει ότι ένα "Υπέρβαση" έχει συμβεί και επιστρέφει στους αριθμούς του σημείου εισόδου. Εάν ο αριθμός δεν είναι μεγαλύτερος, τότε γίνεται μια δεύτερη σύγκριση - για να δούμε αν το Α είναι μικρότερο από το Β. Εάν ναι, τότε εμφανίζεται ένα μήνυμα που δηλώνει ότι ο αριθμός είναι μικρότερος ("υπογράμμιση") και, πάλι, μια επιστροφή στην αρχή λαμβάνει χώρα. Αλλά αν ο αριθμός Α δεν είναι μικρότερος από τον αριθμό Β, τότε, δεδομένου του γεγονότος ότι αυτή τη στιγμή είναι ήδη γνωστό ότι δεν είναι μεγαλύτερος, επομένως, είναι ίσος με τον αριθμό Β και το πρόγραμμα τερματίζεται. Ταυτόχρονα, μπορεί να εμφανίζει συγχαρητήρια στον χρήστη για τη μαντεία του αριθμού.

Αυτός ο αλγόριθμος μπορεί να είναι μέρος ενός άλλου αλγόριθμου. Για παράδειγμα, δεν υπάρχει πρόβλεψη για τη δημιουργία του ίδιου του αριθμού που πρέπει να μαντέψει. Δεν υπάρχει επίσης επιλογή επανάληψης. Για να διορθώσετε αυτήν την κατάσταση, εξετάστε ένα μπλοκ διάγραμμα του αλγορίθμου που ελέγχει την εκτέλεση του προγράμματος στο σύνολό του (Εικ. 1.2).


Ρύζι. 1.2. Διάγραμμα ροής ελέγχου προγράμματος

Στην αρχή της εκτέλεσης, δημιουργείται ένας νέος αριθμός που θα μαντέψει ο χρήστης. Στη συνέχεια έρχεται το ίδιο το μπλοκ εικασίας, το οποίο έχουμε ήδη εξετάσει (βλ. Εικ. 1.1) - εδώ παρουσιάζεται με τη μορφή μιας απλής ενότητας, καθώς δεν επηρεάζει την εκτέλεση του προγράμματος στο σύνολό του. Με την ολοκλήρωση αυτού του μπλοκ, έχουμε ένα μόνο κλάδο - ανάλογα με το τι απαντά ο χρήστης στην προσφορά για επανάληψη του παιχνιδιού. Έτσι, εάν η απάντηση είναι θετική, τότε το πρόγραμμα θα πρέπει να πάει στην αρχή, δηλ. για να δημιουργήσετε έναν νέο αριθμό. Εάν ο χρήστης αρνηθεί, τότε το πρόγραμμα πρέπει να τερματιστεί.

Η συγκεκριμένη υλοποίηση ενός συγκεκριμένου αλγορίθμου εξαρτάται από τη γλώσσα προγραμματισμού που χρησιμοποιείται, καθώς και από τις προτιμήσεις του δημιουργού του προγράμματος, αφού, κατά κανόνα, η ίδια κατασκευή μπορεί να λυθεί χρησιμοποιώντας πολλές διαφορετικές μεθόδους. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τόσο βρόχους όσο και εντολές άνευ όρων για να επιστρέψετε σε ένα σημείο που υποδεικνύεται σε ένα μπλοκ διάγραμμα. Λοιπόν, τα ίδια τα μπλοκ μπορούν να τοποθετηθούν σε ξεχωριστές διαδικασίες και να ονομαστούν ως υπορουτίνες. Το μόνο κοινό χαρακτηριστικό είναι ο τελεστής υπό όρους που είναι υπεύθυνος για το fork - σχεδόν σε όλες τις γλώσσες, και το Pascal δεν αποτελεί εξαίρεση, ονομάζεται IF. Ωστόσο, θα έχουμε ακόμα χρόνο να εξοικειωθούμε με τους τελεστές Object Pascal.

Σχετικά με τον αντικειμενοστραφή προγραμματισμό

Εάν η επιλογή, η επανάληψη και το άλμα είναι οι ακρογωνιαίοι λίθοι οποιασδήποτε διαδικαστικής γλώσσας προγραμματισμού, τότε αντικειμενοστραφής προγραμματισμόςέννοιες όπως η ενθυλάκωση, η κληρονομικότητα και ο πολυμορφισμός είναι σημαντικές. Ας δούμε αυτές τις έννοιες, χωρίς τις οποίες καμία γλώσσα που υποστηρίζει το αντικείμενο δεν μπορεί να ονομαστεί αντικειμενοστραφή, με περισσότερες λεπτομέρειες.

ΣΗΜΕΙΩΣΗ
Ο όρος «αντικείμενο» στον προγραμματισμό νοείται ως ένας συγκεκριμένος σύνθετος τύπος δεδομένων στον οποίο μπορούν να προσαρτηθούν μοναδικές ιδιότητες για αυτόν τον τύπο, και στην περίπτωση του OOP, επίσης μέθοδοι.

Η ενθυλάκωση είναι ο συνδυασμός δεδομένων και των υπορουτίνων που τα επεξεργάζονται - μεθόδους - μέσα σε ένα αντικείμενο, που ονομάζεται «κλάση» στο OOP. Αυτό σημαίνει ότι η κλάση ενσωματώνει όλα όσα είναι απαραίτητα για την εργασία με ένα συγκεκριμένο αντικείμενο.

Η κληρονομικότητα είναι ένα άλλο σημαντικό μέρος του OOP. Κληρονομικότητα σημαίνει τη δυνατότητα δημιουργίας ενός τύπου (αντικειμένου) με βάση τον ορισμό ενός άλλου αντικειμένου. Σε αυτήν την περίπτωση, όλες οι ιδιότητες και οι μέθοδοι του γονικού αντικειμένου μπορούν να κληρονομηθούν από το παιδί. Για παράδειγμα, εάν έχουμε ένα αντικείμενο "αυτοκίνητο", τότε με βάση αυτό μπορούμε να δημιουργήσουμε ένα άλλο αντικείμενο, ας πούμε, "τραμ", το οποίο θα κληρονομήσει όλες τις ιδιότητές του και θα λάβει, εκτός από αυτές, και μερικές δικές του. Με τη σειρά του, αυτό το αντικείμενο θα μπορεί επίσης να έχει τους δικούς του απογόνους κ.λπ. Το αποτέλεσμα είναι ένα δέντρο αντικειμένων που ονομάζεται ιεραρχία κλάσεων.

Στο Object Pascal, όλες οι κλάσεις προέρχονται από έναν μόνο πρόγονο - την κλάση TObject, η οποία υλοποιεί ενέργειες σε ένα αντικείμενο κοινό για όλες τις κλάσεις, όπως δημιουργία και διαγραφή.

ΣΥΜΒΟΥΛΗ
Οι εκδόσεις του Delphi σε κουτί περιλαμβάνουν μια αφίσα που δείχνει το δέντρο κλάσης για όλα τα κύρια στοιχεία των Delphi. Επομένως, εάν είστε ο ευτυχής κάτοχος ενός προϊόντος με άδεια χρήσης, μπορείτε να μελετήσετε οπτικά τη δομή αυτού του συστήματος τοποθετώντας αυτήν την αφίσα στο χώρο εργασίας σας.

Τέλος, ο τρίτος πυλώνας στον οποίο βρίσκεται το OOP είναι ο πολυμορφισμός, ή η ικανότητα δημιουργίας ιδιοτήτων και μεθόδων με το ίδιο όνομα μέσα σε σχετικά αντικείμενα, τα οποία θα διαφέρουν στην ουσία. Ας υποθέσουμε ότι έχουμε ήδη τις κλάσεις "αυτοκίνητο" και "τραμ", και και για τις δύο ορίζεται η ιδιότητα "κινητήρας", αλλά εάν για ένα αυτοκίνητο ο τύπος κινητήρα είναι αντικείμενο ενός τύπου, τότε για ένα τραμ είναι εντελώς διαφορετικό ένας.

Ένα άλλο σημαντικό στοιχείο χαρακτηριστικό του OOP είναι η απόκρυψη, η οποία σας επιτρέπει να κάνετε αόρατες ορισμένες ιδιότητες αντικειμένων. Με άλλα λόγια, αν μπορούμε να ορίσουμε ένα αντικείμενο τύπου «αυτοκίνητο», για το οποίο, με τη σειρά τους, ορίζονται ιδιότητες όπως το πλαίσιο, ο κινητήρας και οι τροχοί. Έτσι, εάν ο κινητήρας και οι τροχοί μπορούν να γίνουν ορατά (και προσβάσιμα) παντού όπου είναι διαθέσιμη η ίδια η κατηγορία «αυτοκίνητο», τότε το πλαίσιο δεν μπορεί. Κατά συνέπεια, πρόσβαση σε μια τέτοια ιδιότητα μπορεί να επιτευχθεί μόνο σε εκείνα τα μέρη του προγράμματος στα οποία γίνεται η περιγραφή του ίδιου του αντικειμένου «μηχανής». Τέτοιες ιδιότητες ονομάζονται προστατευμένες.

Περισσότερες λεπτομέρειες σχετικά με τον αντικειμενοστραφή προγραμματισμό θα συζητηθούν στο δεύτερο μέρος αυτής της δημοσίευσης.

Οπτικός Προγραμματισμός και Δελφοί

Έτσι, οι Δελφοί είναι ένα περιβάλλον που λειτουργεί με την αντικειμενοστραφή δομική γλώσσα προγραμματισμού Object Pascal. Εκτός από αυτό, οι Δελφοί είναι επίσης ένα περιβάλλον οπτικής ανάπτυξης. Με άλλα λόγια, ήδη στη διαδικασία δημιουργίας ενός προγράμματος μπορείτε να δείτε πώς θα φαίνεται κατά την εκτέλεση. Ο οπτικός προγραμματισμός μειώνει δραματικά τον χρόνο που απαιτείται για τη δημιουργία διεπαφής χρήστη για εφαρμογές των Windows. Πριν από την εμφάνιση των εργαλείων οπτικής ανάπτυξης, ο προγραμματισμός στα Windows ήταν γεμάτος με μεγάλες δυσκολίες, καθώς ήταν απαραίτητο να υπολογιστεί σχεδόν στα τυφλά η θέση κάθε στοιχείου ελέγχου στο παράθυρο της εφαρμογής, γεγονός που οδήγησε σε πολλά σφάλματα (Εικ. 1.3).


Ρύζι. 1.3. Κλασικές και οπτικές προσεγγίσεις για τη δημιουργία διεπαφής

Το γεγονός ότι οι Δελφοί είναι ένα οπτικό περιβάλλον ανάπτυξης αφήνει το στίγμα του στη γλώσσα προγραμματισμού. Συγκεκριμένα, παρέχει ειδικά μέσα ώστε ορισμένες ιδιότητες των κλάσεων να μπορούν να είναι διαθέσιμες ήδη στο στάδιο της ανάπτυξης του προγράμματος και όχι μόνο κατά το χρόνο εκτέλεσης. Αλλά το πιο σημαντικό μέρος όλης αυτής της μεγαλοπρέπειας είναι η βιβλιοθήκη τάξης - VCL (Visual Component Library). Είναι το VCL που κρύβει όλες τις τραχιές άκρες των εσωτερικών στοιχείων των Windows και σας επιτρέπει να δημιουργείτε εύκολα εφαρμογές χωρίς να εμπλακείτε σε παρατεταμένο πόλεμο με την επεξεργασία μηνυμάτων συστήματος, επιστροφών κλήσεων, χειρισμών και δεικτών.

Με όλα αυτά, φυσικά, κανείς δεν σας απαγορεύει να χρησιμοποιείτε απευθείας τις λειτουργίες των Windows, παρακάμπτοντας το VCL, αν χρειαστεί. Ωστόσο, αυτό μπορεί να χρειάζεται πολύ σπάνια, επομένως για έναν αρχάριο προγραμματιστή Delphi, δεν απαιτείται τίποτα άλλο εκτός από το VCL για τη σύνταξη εφαρμογών των Windows.

Θα εξετάσουμε λεπτομερώς τα οπτικά στοιχεία στο Μέρος 3 αυτού του βιβλίου.

Οι εκδόσεις των Δελφών και οι διαφορές τους

Στο τέλος του εισαγωγικού μέρους, θα δούμε τις διαφορές μεταξύ των εκδόσεων των Δελφών, μελετώντας ταυτόχρονα την ιστορία της ανάπτυξης αυτού του υπέροχου περιβάλλοντος ανάπτυξης.

Δελφοί 1. Κυκλοφόρησε λίγο πριν από την εμφάνιση των Windows 95, το Delphi 1.0 ήταν το πρώτο εργαλείο ανάπτυξης εφαρμογών των Windows (3.1) που συνδύαζε έναν μεταγλωττιστή βελτιστοποίησης, ένα περιβάλλον οπτικής ανάπτυξης και ισχυρά εργαλεία βάσης δεδομένων. Αυτή ήταν μια πραγματική μετενσάρκωση για τη γλώσσα Pascal - έγινε Object Pascal.

Δελφοί 2. Η 2η έκδοση των Delphi, που κυκλοφόρησε ένα χρόνο αργότερα, προσέφερε το ίδιο, αλλά για εκδόσεις 32 bit των Windows (95/NT), και πάλι έγινε το πρώτο εργαλείο που συνδυάζει έναν μεταγλωττιστή 32 bit, εργαλεία για εργασία με βάσεις δεδομένων και μια οπτική περιβάλλον ανάπτυξης, που υποστηρίζει το OLE (και μετά την κυκλοφορία του ενημερωμένου Delphi 2.01 - και του ActiveX). Η γλώσσα έχει επίσης αλλάξει, προσανατολισμένη στα 32 bit.

Δελφοί 3. Η περαιτέρω βελτίωση των Delphi προς όλες τις κατευθύνσεις οδήγησε στην κυκλοφορία της έκδοσης 3, η οποία είχε ένα διευρυμένο σύνολο εργαλείων για τη δημιουργία εφαρμογών χάρη στην υποστήριξη για COM και ActiveX. Σε αυτή την έκδοση, για πρώτη φορά, δόθηκε έμφαση στη δυνατότητα δημιουργίας εφαρμογών για το Διαδίκτυο και εμφανίστηκε ένας άτυπος τύπος δεδομένων - παραλλαγή.

Δελφοί 4. Άλλο ένα βασικό ορόσημο ανάπτυξης. Σε αυτήν την έκδοση, εισήχθησαν πολλά νέα και χρήσιμα πράγματα για την απλοποίηση της ανάπτυξης εφαρμογών, συμπεριλαμβανομένου ενός νέου περιβάλλοντος με δυναμικές συμβουλές κ.λπ. Το μοντέλο εργασίας με εξαρτήματα (VCL) βελτιώθηκε και κατέστη δυνατή η γρήγορη χρήση τεχνολογιών όπως MIDAS, DCOM και CORBA. Σε αυτήν την έκδοση, βελτιώθηκε επίσης η γλώσσα Object Pascal: εμφανίστηκαν νέα χαρακτηριστικά γνωρίσματα του σύγχρονου OOP, εισήχθησαν νέοι τύποι δεδομένων, συμπεριλαμβανομένων των 64-bit.

Δελφοί 5. Υπήρχαν τόσες πολλές αλλαγές στο Delphi 4 που, δυστυχώς, υπήρχαν κάποια ενοχλητικά σφάλματα και σφάλματα. Το αποτέλεσμα ήταν η κυκλοφορία 3 πακέτων ενημέρωσης (οι πειρατές μας τα πούλησαν με το πρόσχημα των Delphi 4.1, 4.2 και 4.3). Αλλά το Delphi 5 πρέπει να θεωρείται το πιο πλήρες και σωστό πακέτο ενημέρωσης - σε αυτήν την έκδοση όλα όσα ξεκίνησαν στο Delphi 4 υλοποιήθηκαν.

Δελφοί 6. Με την κυκλοφορία της έκτης έκδοσης, ο Borland ανακοίνωσε μια νέα, cross-platform εποχή στους Δελφούς, κυκλοφορώντας ταυτόχρονα μια έκδοση του Delphi για Linux (Kylix 1.0). Τώρα, όταν δημιουργείτε μια εφαρμογή, μπορείτε να επιλέξετε τον τύπο της - για Windows ή καθολική. Αντίστοιχα, η βιβλιοθήκη VCL συμπληρώθηκε από τη βιβλιοθήκη CLX, συμβατή τόσο με Windows όσο και με Linux. Επιπλέον, στην 6η έκδοση, "εγγενής" και όχι ξένη ActiveX, εμφανίστηκαν τελικά στοιχεία για εργασία με το Διαδίκτυο και και στις δύο εκδόσεις ταυτόχρονα - τόσο για το VCL όσο και για το CLX. Ξεκινώντας με αυτήν την έκδοση, η ίδια η γλώσσα προγραμματισμού Object Pascal ονομάζεται επίσημα Delphi.

Δελφοί 7. Περαιτέρω ανάπτυξη του Delphi 6, μια βελτιωμένη βιβλιοθήκη CLX και μια νέα αντίστοιχη έκδοση του περιβάλλοντος ανάπτυξης για Linux OS - Kylix 3. Ταυτόχρονα, ξεκινώντας με τους Delphi 7, η Borland ασχολήθηκε με το θέμα της συμβατότητας με μια άλλη πλατφόρμα - τη Microsoft . NET, για το οποίο έγιναν κάποιες αλλαγές όπως στο VCL, και στη γλώσσα (και, κατά συνέπεια, στον μεταγλωττιστή).

Δελφοί 8. Η πρώτη έκδοση του Delphi, επικεντρώθηκε στη συνεργασία με την πλατφόρμα Microsoft.NET. Σε αυτήν την έκδοση, οι προγραμματιστές πήραν το ρίσκο να αλλάξουν τη διεπαφή του περιβάλλοντος, κάνοντάς το παρόμοιο με τα προϊόντα της Microsoft, του νέου μεγαλομετόχου της Borland. Κατά συνέπεια, η υποστήριξη για την Kylix διακόπηκε.

Δελφοί 2005. Λιγότερο από ένα χρόνο μετά την κυκλοφορία του Delphi 8, εμφανίστηκε μια νέα έκδοση, η οποία επέστρεψε γρήγορα τη δυνατότητα εργασίας στο κλασικό στυλ IDE κατά την ανάπτυξη εφαρμογών για Windows. Ταυτόχρονα, το Delphi 2005, στην περίπτωση ανάπτυξης εφαρμογών ειδικά για την πλατφόρμα NET, σας επιτρέπει να εργάζεστε όχι μόνο με τη γλώσσα Delphi, αλλά και με C#. Ταυτόχρονα, καινοτομίες όπως ο for...in operator και οι ενσωματωμένες διαδικασίες και λειτουργίες εισήχθησαν στην ίδια τη γλώσσα των Delphi.

Δελφοί 2006. Η τελευταία έκδοση του Delphi κυκλοφόρησε από την Borland. Κυκλοφόρησε επίσης μια ελαφριά έκδοση - Turbo Delphi. Μετά ξεκίνησε το ταξίδι σε άλλους προγραμματιστές.

Δελφοί 2007. Έκδοση που κυκλοφόρησε από την CodeGear. Προστέθηκε υποστήριξη για τη διεπαφή Aero για Windows Vista.

Δελφοί 2009. Έκδοση που κυκλοφόρησε από την Embarcodero. Η υποστήριξη Unicode έχει υλοποιηθεί σε VCL και RTL, οι κλήσεις σε όλες τις λειτουργίες API των Windows έχουν αντικατασταθεί με ανάλογα Unicode, έχουν προστεθεί γενικοί τύποι και ανώνυμες μέθοδοι.

Δελφοί 2010. Υποστήριξη Windows 7, στοιχεία αφής και χειρονομίας και τα στοιχεία dbExpress υποστηρίζουν πλέον επίσημα το Firebird.

Delphi XE (Δελφοί 2011). Προστέθηκε υποστήριξη για cloud computing.

Σας άρεσε το άρθρο; Μοιράσου το
Μπλουζα