Quelle langue est utilisée à Delphi. À propos de la programmation et de Delphi

Site web:

Delphes(Delphe, prononcé /ˈdɛlˌfi:/écoutez)) est un langage de programmation impératif, structuré et orienté objet, un dialecte du Pascal Objet. À partir de l'environnement de développement Delphi 7.0, Borland a commencé à utiliser le nom Delphi pour désigner le langage Object Pascal dans les documents officiels. Depuis 2007, le langage Delphi (dérivé du Pascal Objet) a commencé à vivre sa propre vie indépendante et a subi divers changements liés aux tendances modernes (par exemple, avec le développement de la plateforme .NET) dans le développement de langages de programmation : assistants de classe, surcharge des opérateurs, et d'autres sont apparus.

Plateforme cible

Initialement, l'environnement de développement était destiné exclusivement au développement d'applications Microsoft Windows, puis il a également été implémenté pour les plates-formes Linux (comme Kylix), cependant, après la sortie de Kylix 3 en 2002, son développement a été interrompu et, peu de temps après, la prise en charge de Microsoft .NET a été annoncée.

L'implémentation par le projet Lazarus de l'environnement de développement (Free Pascal, compilé en mode de compatibilité Delphi) permet de l'utiliser pour créer des applications Delphi pour des plateformes telles que Linux, Mac OS X et Windows CE.

Il y a également eu des tentatives pour utiliser le langage dans des projets GNU (tels que GNU Notepad) et écrire un compilateur pour GCC.

Histoire de la langue

Object Pascal est le résultat du développement du langage Turbo Pascal, lui-même issu du langage Pascal. Pascal était un langage entièrement procédural, Turbo Pascal, à partir de la version 5.5, ajoutait des propriétés orientées objet à Pascal et une identification dynamique du type de données à Object Pascal avec la possibilité d'accéder aux métadonnées de classe (c'est-à-dire la description des classes et de leurs membres). en code compilé, également appelé introspection - cette technologie est désignée RTTI. Étant donné que toutes les classes héritent des fonctions de la classe de base TObject, tout pointeur vers un objet peut y être converti, puis utiliser la méthode ClassType et la fonction TypeInfo, qui fourniront une introspection.

Une autre caractéristique distinctive d'Object Pascal de C++ est que les objets sont situés par défaut dans la mémoire dynamique. Toutefois, vous pouvez remplacer les méthodes virtuelles NewInstance et FreeInstance de la classe TObject. Ainsi, absolument n'importe quelle classe peut réaliser le « désir » « là où je veux, je m'allongerai là ». Le « multi-groupement » est organisé en conséquence.

Object Pascal (Delphi) est le résultat d'une extension fonctionnelle de Turbo Pascal.

Delphi a eu une influence considérable dans la création du concept de langage pour la plateforme .NET. Beaucoup de ses éléments et solutions conceptuelles ont été inclus en C#. L'une des raisons est le transfert d'Anders Hejlsberg, l'un des principaux développeurs Delphi, de Borland Ltd. chez Microsoft Corp.

  • La version 8 est capable de générer du bytecode exclusivement pour la plateforme .NET. Il s'agit du premier environnement axé sur le développement d'applications multilingues (uniquement pour la plateforme .NET) ;
  • Les versions ultérieures (indiquées par les années de version plutôt que par les numéros de série comme précédemment) peuvent produire à la fois des applications Win32 et du bytecode pour la plate-forme .NET.

Cependant, en novembre de la même année, il a été décidé d'abandonner la vente de l'activité IDE. Cependant, le développement des produits IDE sera désormais assuré par une nouvelle société - CodeGear, qui sera entièrement contrôlée financièrement par Borland.

En août 2006, Borland a publié une version allégée de RAD Studio sous le nom de Turbo : Turbo Delphi (pour Win32 et .NET), Turbo C#, Turbo C++.

En mars 2008, il a été annoncé que le développement de cette gamme de produits serait interrompu.

En mars 2007, CodeGear a ravi les utilisateurs avec la gamme mise à jour de Delphi 2007 pour les produits Win32 et la sortie d'un tout nouveau produit, Delphi 2007 pour PHP.

En juin 2007, CodeGear a présenté ses projets pour l'avenir, c'est-à-dire qu'il a publié ce qu'on appelle la feuille de route.

Embarcadero RAD Studio 2010

  • Par défaut, prise en charge complète d'Unicode dans toutes les parties du langage, VCL et RTL ; remplacement des appels à toutes les fonctions de l'API Windows par des analogues Unicode (c'est-à-dire que MessageBox appelle MessageBoxW, pas MessageBoxA).
  • Types généralisés, alias génériques.
  • Nouvelle directive du compilateur $POINTERMATH.
  • La fonction Quitter peut désormais accepter des paramètres selon le type de fonction.

Compilateurs

  • Embarcadero Delphi (anciennement CodeGear Delphi et Borland Delphi) est probablement le compilateur le plus célèbre qui succède à Borland Pascal et Turbo Pascal. Utilise Win16 (Delphi 1), Win32 (Delphi 2 et versions ultérieures), Win64 (Delphi 16 (XE2) et versions ultérieures), ainsi que .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). La prise en charge de .NET a ensuite été transformée en un produit distinct appelé Oxygene.
  • Free Pascal (FPC) est un compilateur Object Pascal gratuit qui prend en charge divers dialectes Pascal, notamment Turbo Pascal, Delphi et ses propres dialectes. Actuellement, FPC peut générer du code pour les processeurs x86, x86-64, PowerPC, SPARC et ARM, ainsi que pour divers systèmes d'exploitation, notamment Microsoft Windows, Linux, FreeBSD et Mac OS. Il existe plusieurs environnements de développement logiciel pour FPC (l'un des représentants les plus connus est Lazarus).
  • GNU Pascal (version développée séparément de GCC). Il n'a pas pour objectif de poursuivre la série des dialectes Delphi dans le cadre de Pascal, mais contient néanmoins un mode de compatibilité pour Borland Pascal, et s'adapte très lentement aux composants du langage Delphi. Ne convient pas à la compilation de grands projets contenant du code Delphi, mais il convient de noter que la plupart des systèmes d'exploitation et des architectures le prennent en charge.
  • Oxygène (anciennement connu sous le nom de Chromeécoutez)) est un compilateur Object Pascal intégré à Microsoft Visual Studio. Également disponible en tant que compilateur avec une ligne de commande CLI gratuite. Utilise les plateformes .NET et mono. Actuellement vendu sous la marque Embarcadero Delphi Prism.
  • MIDletPascal est un langage de programmation avec une syntaxe de type Delphi et un compilateur du même nom qui convertit le code source en bytecode Java compact et rapide.
  • PocketStudio - IDE basé sur Pascal pour Palm OS.
  • Virtual Pascal - Compilateur gratuit et IDE texte pour Win32, OS/2 et Linux. A cette époque, c'était très rapide et très compatible (les designs Delphi 5 sont partiellement supportés). Extérieurement, il est très similaire à l'environnement texte de Borland Pascal 7, bien qu'il n'y ait pas de graphiques compatibles avec lui, par exemple. Cependant, le développement a pris fin en 2004 et le code source n'était pas ouvert. Depuis lors, FPC est allé beaucoup plus loin et est généralement meilleur pour la programmation. Néanmoins, VP reste une très bonne option pour remplacer rapidement des versions encore plus obsolètes de Borland Pascal pour école/institut, compte tenu de son fonctionnement natif sous Win32 sans problème d'encodage russe.

Syntaxe du langage

Les opérateurs

Liste des opérateurs séparés par des espaces : := + - * / div mod not et ou avec xor shl shr ^ =<> >= <= < >@in est comme

Expressions

Les expressions en Object Pascal (Delphi) peuvent être arithmétiques, logiques ou chaîne.

Expressions logiques de base :
Les expressions logiques sont principalement utilisées dans les instructions conditionnelles. Les expressions logiques incluent des opérations telles que :

  • not - "NON", négation d'une expression logique (NON<логическое_выражение>)
  • et - « Et », multiplication (intersection) d'expressions logiques (<логическое_выражение1>ET<логическое_выражение2>)
  • ou - « OU », combinant des expressions logiques (<логическое_выражение1>OU<логическое_выражение2>)
  • xor - "OU exclusif", négation du OU, tout ce qui ne relève pas du OU (<логическое_выражение1>XOR<логическое_выражение2>)

Types de données

Les données traitées dans le programme sont divisées en variables, constantes et littéraux. Les constantes sont des données dont les valeurs sont définies dans la section de déclaration des constantes et ne changent pas pendant l'exécution du programme.

Objets

  • Produits Embarcadero : Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder versions 1 et 2.
  • Administration et développement de bases de données : MySQL Tools, IBExpert.
  • Logiciel d'ingénierie : Altium Designer.
  • Gestionnaires de fichiers : Total Commander, Frigate.
  • Visionneuses graphiques : FastStone Image Viewer, FuturixImager, drComRead.
  • Lecteurs vidéo et audio : Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Programmes de messagerie instantanée : QIP, R&Q, Skype GUI, The Bat ! , PopTray , FeedDemon .
  • Création musicale : FL Studio, Guitar Pro (jusqu'à la version 6.0).
  • Développement logiciel : Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Développement Web : Macromedia HomeSite.
  • Éditeurs de texte : BirEdit, Notepad GNU, Bred.
  • Comptabilité et fiscalité : « PARUS », AVARDA (jusqu'à la version 6.x incluse).
  • Programmes de création d'animations : Pivot Stickfigure Animator.
  • Programmes de compression de données : ALZip, PowerArchiver, PeaZip.
  • Jeux informatiques : Age of Wonders, Space Rangers, Venom. Nom de code : Outbreak, Space Empires V, "La vérité sur la neuvième compagnie".
  • Éditeurs graphiques : Real Paint.

Remarques

Littérature

  • Neil J. Rubenking. Langage de programmation Delphi pour les nuls. Introduction à Borland Delphi 2006 = Delphi pour les nuls. - M. : Dialectique, 2007. - 336 p. -ISBN0-7645-0179-8
  • Javier Paschecu. Programmation dans Borland Delphi 2006 pour les professionnels = Guide du développeur Delphi pour .NET. - M. : Williams, 2006. - 944 p. -ISBN0-672-32443-X
  • A. N. Valvachev, K. A. Surkov, D. A. Surkov, Yu. M. Chetyrko. Programmation en langage Delphi. Didacticiel . - 2005.

Liens

  • Page Environnement de programmation sur le site Web Embarcadero Technologies

Ainsi, dans cet article, nous expliquerons comment déterminer la profondeur de bits du système d'exploitation Windows lors de la programmation dans Delphi. Ceci est nécessaire pour, par exemple, sélectionner l'une ou l'autre version du pilote - x86 (32 bits) ou x64 (64 bits).

Alors, commençons.

Créons un nouveau projet et ajoutons un composant Label au formulaire.

Ensuite, nous allons dans l'éditeur de code source et dans la section avec les variables var, ajoutons la variable de chaîne razr (type de données chaîne, c'est-à-dire chaîne).

var Form1 : TForm1 ;

razr : chaîne ;

Après cela, double-cliquez sur le formulaire, copiez et collez-y le code suivant (dans la procédure de création du formulaire principal TForm1.FormCreate), entre les phrases start et fin; (c'est-à-dire le début et la fin de la procédure).

(à l'aide de la fonction Get Environment Variable, nous lisons la valeur de la variable ProgramFiles(X86)

si le système est 32 bits, alors il aura une valeur vide

s'il est 64 bits, il aura connaissance de C: Program Files (x86)

c'est-à-dire le dossier dans lequel les versions 32 bits des programmes sont installées)

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

label1.Caption:= razr;

si (razr = "") alors

commencer

label1.Font.Color:=clRed; (Change la couleur de l'inscription, vous pouvez en choisir une à votre goût, par exemple clGreen - vert)

label1.Caption:= "Vous disposez de x86"; (au lieu du nom de l'étiquette labl1, vous pouvez écrire n'importe quoi d'autre, par exemple metka)

autre

commencer

label1.Font.Color:=clBlue; (Change la couleur de l'inscription, vous pouvez en choisir une à votre goût, par exemple clGreen - vert)

label1.Caption:= "Vous avez x64";

fin;

Comment fonctionne le programme?

La fonction Obtenir une variable d'environnement lit la valeur d'une variable d'environnement sous Windows Fichiers de programme (X86).

Si le système est 32 bits, sa valeur sera vide.

S'il est 64 bits, alors il aura la connaissance C:Program Files(x86), c'est-à-dire qu'il s'agit du dossier dans lequel les versions 32 bits des programmes sont installées.

En fait, c'est tout.

Voilà ce qui m'est arrivé.

Ci-dessous, vous pouvez télécharger l'archive avec le code source du programme pour essayer de comprendre par vous-même son fonctionnement.


Commentaires ()

wdfm90

Le programme fonctionne bien sous Windows 7 x64, vous pouvez l'utiliser

Édouard 300

Quiconque commence un hors sujet + un langage obscène sera banni pendant 1 jour ! Cela ne s'applique pas aux administrateurs.
.php?board=18.0

Je n'ai pas créé ce forum pour rien !

Édouard 300

Introduction

Ces lignes directrices sont conçues pour aider les étudiants à acquérir des compétences pratiques dans la technologie de conception visuelle de leurs propres applications pour Windows dans l'environnement Delphi en utilisant la méthodologie de programmation orientée objet. Les travaux de laboratoire couvrent les principales étapes du développement d'un programme pour Windows.

Les lignes directrices se composent de trois sections. La première section fournit une description des concepts de base de la conception d'applications visuelles et de l'environnement de programmation Delphi. La deuxième section formule les exigences générales pour la mise en œuvre et la présentation des résultats de laboratoire. La troisième section comprend des descriptions de travaux de laboratoire spécifiques avec les brèves informations théoriques nécessaires, des exemples de conception de programmes, des recommandations pour effectuer des travaux, des variantes de tâches pour effectuer des travaux et des questions d'auto-test. Pour réaliser le travail, les étudiants doivent être familiers avec le langage Objet Pascal et l'environnement de programmation visuelle Delphi.

Concepts de base et définitions de Delphi

visuel du tableau du programme Delphi

L'écran après le lancement de Delphi contient quatre fenêtres : la fenêtre principale, les formulaires, l'inspecteur d'objets et l'éditeur de code, qui est presque entièrement recouvert par la fenêtre du formulaire.

La fenêtre principale contient le menu de commandes Delphi, la barre d'outils et la palette de composants.

La fenêtre formulaire, son titre FORM1, représente un modèle, une mise en page d'un des objets de l'application en cours de développement.

La fenêtre Inspecteur d'objets, son titre Inspecteur d'objets vous permet de voir et de modifier les propriétés des objets du projet. Après avoir lancé Delphi, cette fenêtre affiche les propriétés du formulaire FORM1.

La fenêtre de l'éditeur de code est destinée à créer des procédures de gestion d'événements. En Delphi, le code est le texte d'un programme.

Les objets ou contrôles sont des composants de formulaire à partir desquels un projet est créé ; d'ailleurs, le formulaire lui-même, comme mentionné ci-dessus, est également un objet. Les objets peuvent être des boutons de commande, des champs de saisie de texte, des commutateurs, des étiquettes, des barres de défilement et des fenêtres.

Les propriétés d'un objet sont, par exemple, la taille du texte du titre, la couleur d'arrière-plan du formulaire ou le texte du bouton de commande et bien plus encore ; une liste complète des propriétés peut être vue dans la fenêtre Inspecteur d'objets pour l'objet sélectionné ; objet.

Un événement est quelque chose qui se produit pendant l'exécution de l'application que vous avez créée. Dans Delphi, chaque événement a un nom, par exemple, un clic de souris est un événement OnClick, un double clic est un événement OnDblClick.

Un projet est un ensemble de fichiers (unités de programme - modules), à l'aide desquels le compilateur crée un fichier programme exécutable. L'un des fichiers du projet, appelé fichier projet et portant l'extension dpr, contient une description générale du projet. Le fichier projet est le module d'application principal généré par Delphi. En plus du module principal, le projet comprend un ou plusieurs modules (Unités). Les fichiers du module Projet (Unité) contiennent les textes de procédures, de fonctions, les descriptions de types, ainsi que toutes les informations permettant de créer un programme exécutable, et portent l'extension pas. Une procédure est un groupe d'opérateurs dans un langage de programmation qui permet d'effectuer des actions spécifiques (résoudre un problème). D'une manière ou d'une autre, tout le code exécutable que vous avez compilé pour l'initialisation est nécessairement placé dans une procédure.

Une unité se compose de trois sections : interface (commence par le mot interface), mise en œuvre (commence par le mot implémentation) et. Vous trouverez ci-dessous la structure du module.

nomModuleUnité ;

(Voici des descriptions de procédures et fonctions de ce module qui peuvent être utilisées par d'autres modules)

(Voici les déclarations des constantes globales du module qui peuvent être utilisées par les procédures et fonctions du module)

(Voici les déclarations des types globaux de module qui peuvent être utilisées par les procédures et fonctions de module)

(Voici les déclarations des variables globales du module qui peuvent être utilisées par les procédures et fonctions du module)

(Voici les descriptions des procédures et fonctions du module)

(Les instructions pour la section d'initialisation des variables du module se trouvent ici)

Ainsi, la section interface indique au compilateur quelle partie du module est accessible aux autres modules du programme. La section d'implémentation commence par une directive ($R*.DFM), qui indique au compilateur d'utiliser une description de formulaire lors de la génération du fichier exécutable. la description du formulaire se trouve dans un fichier avec l'extension dfm dont le nom correspond au nom du module. La directive ($R*.DFM) est suivie de procédures de gestion d'événements pour le formulaire et ses composants. Le programmeur peut également placer ici des procédures et des fonctions développées. Si la section d'initialisation ne contient pas d'instructions, alors le mot start n'est pas spécifié.

Delphi est un langage de programmation et environnement de développement de logiciels. Il est développé par Borland (anciennement Inprise). Langage de programmation Delphi, anciennement connu sous le nom de Objet Pascal(Pascal avec extensions orientées objet), initialement destiné uniquement à Microsoft Windows, mais vous permet désormais de créer des applications natives pour Linux et Microsoft. NET Framework et autres (voir ci-dessous). Programmation pour débutants.
L'utilisation la plus populaire est le développement d'applications de bureau et de bases de données d'entreprise, ainsi que le langage de programmation Delph comme outil. Et peut être utilisé pour la plupart des types de projets de développement. C'est l'un des premiers langages à être connu sous le nom d'outil RAD (Rapid Application Development) lors de sa sortie en 1995. Delphi 2, sorti un an plus tard, prenait en charge l'environnement Windows 32 bits, et quelques années plus tard seulement, C, C++ Builder est sorti. En 2001, une version Linux est devenue disponible, connue sous le nom de Kylix (urne grecque classique). Chaque année, il y avait une nouvelle version, en 2002 le produit est devenu connu sous le nom de Delphi 7 Studio, le langage est devenu officiellement appelé langage de programmation Delphi plutôt que Object Pascal, et la prise en charge de Linux a été ajoutée (via Kylix) et. NET (via le précompilateur). Plein soutien. NET est prévu pour le prochain Delphi 8. Programmation pour les nuls.
Les principaux composants de Delphi et Kylix : le langage Delphi (anciennement officiellement connu sous le nom de langage Object Pascal), VK/CLX (Visual Component Library), de solides connexions aux bases de données, combinés à un puissant IDE (Integrated Development Environment) et des outils de support supplémentaires.
Les principales fonctionnalités du langage Delphi incluent :

  • Gestion transparente des objets via des références ou des pointeurs
  • Propriétés faisant partie du langage, associées aux fonctions Get et Set qui encapsulent de manière transparente l'accès aux membres du champ
  • Propriétés d'index et par défaut qui permettent d'accéder à la collection de manière pratique et transparente
  • Délégués, ou autres méthodes de pointeur de type sécurisé, utilisées pour déclencher des événements déclenchés par des composants
  • Déléguer une implémentation d'interface à un champ ou une propriété d'une classe
  • Gestionnaires de messages Windows faciles à implémenter, marquez une méthode de classe avec le numéro/nom de la boîte de message à gérer
  • La plupart des fonctionnalités répertoriées ci-dessus ont d'abord été introduites dans Delphi et adoptées ultérieurement dans d'autres langages.

L'architecte en chef de Delphi et de son prédécesseur Turbo Pascal était Anders Hejlsberg jusqu'à ce qu'il rejoigne Microsoft en 1996 pour consacrer son travail aux principes fondamentaux de la programmation.
Le produit Delphi est distribué sous différents packages, chacun offrant plus de fonctionnalités que les autres :

  • Personnel
  • Professionnel
  • Entreprise
  • Architecte

Bonnes raisons d'utiliser Delphi :

  • Nouvelles très informatives et utiles pour la communauté
  • Peut se compiler en un seul exécutable, ce qui facilite la distribution et réduit les problèmes avec différentes DLL
  • La VCL et les composants tiers sont généralement disponibles avec le code source complet
  • Compilateur d'optimisation puissant et rapide
  • Un code source produit d'excellents codes machine pour différents systèmes d'exploitation
  • Prise en charge des dernières technologies et normes

Clones et alternatives

Bien qu'ils ne soient pas en mesure de satisfaire tous les besoins des programmeurs, il existe tout un ensemble d'outils supplémentaires conçus pour élargir la gamme de tâches résolues à l'aide de Delphi, ou cela peut être fait en insérant du code dans d'autres langages où Delphi et Kylix sont impuissant.
Ces substituts Delphi peuvent être utilisés si vous ne pouvez pas payer pour un environnement de développement, si vous avez besoin d'environnements de développement gratuits (par exemple, pour les systèmes d'exploitation et les logiciels gratuits, ou à des fins éducatives). Dans la plupart des cas, ces alternatives sont utilisées pour la formation, ainsi que pour l'écriture de composants serveur, pour des systèmes d'exploitation peu utilisés (c'était jusqu'à l'apparition de Kylix pour le système d'exploitation Linux, qui est utilisé par la majorité comme système d'exploitation pour serveurs). . .
Citons-en quelques-uns :

  • Free Pascal est un remplacement fourni sous la forme d'un compilateur qui s'exécute à partir de la ligne de commande. Ce développement est basé sur la compatibilité avec l'ensemble des fonctions de base des dialectes Turbo Pascal et Delphi. Les fonctionnalités des versions Delphi supérieures à 4 sont implémentées et fonctionnent. Fonctionne sur la plupart des systèmes d'exploitation x86, notamment Win32, Dos, Linux, BSD et Novell Netware. Il n'y a pas de support pour les autres systèmes d'exploitation sur m68k et PowerPC, dont le statut évolue encore très rapidement. Les travaux de transfert vers la plateforme SPARC ont commencé.
  • GNU Pascal (une partie distribuée séparément de la GNU Compiler Collection), bien qu'il ne soit pas formellement destiné aux dialectes Borland Pascal, contient une compatibilité avec Borland Pascal et absorbe progressivement les fonctionnalités du langage Delphi, bien qu'il ne soit pas adapté à la recompilation de grandes quantités de Code Delphes. Il s'agit du compilateur le plus prolifique en termes de systèmes d'exploitation et de processeurs, même s'il ne mérite d'être mentionné qu'en dernier recours.
  • Il existe un outil appelé Pocket Studio qui vise à compiler du code Delphi simplifié pour les Pocket PC.
  • Virtual Pascal - compilateur, x86 32 bits Turbo Pascal et Delphi, compatible principalement avec OS/2 et Windows, bien qu'un prolongateur DOS et un compilateur croisé Linux expérimental aient été développés. Le compilateur est bloqué autour de la version 2 de Delphi et le site n'a pas beaucoup changé en deux ans, mais alternativement, c'est un autre des meilleurs, avec un excellent IDE et un débogueur, bien que Free Pascal ne soit pas en reste non plus.
  • BloodShed distribue un très bon éditeur graphique Win32 (mais pas RAD) comme interface avec GNU Pascal et Free Pascal.
  • Les efforts de Lazarus visent à créer un environnement de développement pour Free Pascal. Si le portage GTK devient utile pour écrire de petites applications telles que des outils de configuration, le portage win32 nécessite encore beaucoup de travail.
  • InnerFuse est un traducteur Delphi à intégrer dans des applications. Il y a des rumeurs selon lesquelles plusieurs versions de Delphi fonctionnent.
  • WDOSX est une API d'émulation Win32 DOS Extender qui peut être utilisée pour obtenir des applications console écrites en Delphi fonctionnant sous DOS standard.

Comment devenir un professionnel du développement de sites Web et commencer à gagner de l’argent ? Cours vidéo bon marché avec une introduction introductive.

Commençons notre introduction à la programmation dans l'environnement Delphi par des questions telles que l'essence de la programmation elle-même, ses bases et ses sous-types. Nous examinerons également ce qu'est l'environnement Delphi, en quoi il diffère des autres et quel chemin il a parcouru depuis sa création il y a 10 ans.

Qu'est-ce que la programmation

Alors, tout d’abord, comprenons par nous-mêmes ce que l’on entend par le terme programmation ? Aujourd'hui, beaucoup de gens se disent programmeurs, sans même savoir ce que c'est : une fois vérifié, il s'avère qu'une personne qui a modifié quelques lignes de code dans un document HTML est déjà prête à se considérer comme un programmeur. Mais en fait, en travaillant avec HTML (c'est-à-dire HTML lui-même), vous ne pouvez pas devenir programmeur, car HTML, comme son nom l'indique (Hypertext Markup Language), n'est pas un langage de programmation.

En conséquence, nous avons la première condition : pour apprendre la programmation, vous avez besoin d'une sorte de langage de programmation. Dans notre cas, il s'agira des dernières versions d'Object Pascal (14.0 ou 15.0).

De plus, disons que quelqu'un qui se dit programmeur a non seulement édité quelques lignes de code HTML, mais a également vu Delphi et y a même dessiné un formulaire avec 2-3 boutons et un champ de texte. Est-ce un programmeur ? Très probablement pas non plus. Le fait est que sous la coque visuelle se cache en fait un mécanisme très complexe qui assure l'interaction des commandes (les mêmes boutons) avec l'utilisateur et le système d'exploitation - d'une part, et vous permet d'effectuer presque toutes les actions informatiques. - de l'autre. Avec tout cela, vous devriez être capable de faire l'essentiel - créer des algorithmes pour le comportement du programme - qu'il s'agisse de sa réaction en appuyant sur un bouton particulier ou de créer une fonction pour résoudre une équation mathématique complexe.

Ainsi, la programmation dans son concept moderne comprend la connaissance des principes de fonctionnement du système d'exploitation, de l'interaction de ses composants et de sa structure interne. Eh bien, en même temps, la définition classique de la programmation est préservée, à savoir la capacité de composer des algorithmes, des programmes mathématiques et comportementaux. Tout cela est implémenté dans le contexte d'un langage de programmation, par exemple le même Object Pascal de Delphi.

Qu'est-ce que Delphes

Nous savons désormais que la programmation est la compilation d’algorithmes et l’utilisation d’un langage de programmation. Mais si le langage que nous apprenons est le Pascal Objet, alors qu’est-ce que Delphi ? La réponse est : Delphi est RAD, ou Rapid Application Development – ​​un environnement de développement rapide d'applications. En d'autres termes, Delphi comprend non seulement tous les outils permettant de travailler avec le langage Pascal Objet (d'autant plus que, depuis la version 2005, Delphi prend en charge d'autres langages de programmation, notamment C#), mais également un certain nombre d'outils supplémentaires destinés à accélérer accélérer le processus autant que possible et simplifier la création de programmes. Ces outils comprennent tout d'abord un éditeur de formulaire visuel, à l'aide duquel vous pouvez créer un programme à part entière en quelques minutes et sans effort supplémentaire, ainsi que d'autres composants de la composante visuelle du développement de programmes.

En conséquence, le temps de développement du programme est considérablement réduit, puisqu'il n'est pas nécessaire de calculer manuellement l'emplacement de chaque élément de l'interface utilisateur.

Avec les outils développés pour l'écriture et le débogage du code - un éditeur de texte spécialisé, un compilateur d'optimisation et un débogueur, Delphi est un outil de développement rapide d'applications. Dans le même temps, la base de Delphi pour l'utilisateur final est l'IDE - Integrated Development Environment, qui combine un éditeur de code et des outils de développement visuel, et le connecte également à un compilateur, des outils de développement de bases de données et d'autres composants de Delphi.

Delphes et autres

Bien entendu, Delphi n’est pas le seul environnement de développement rapide d’applications. Il existe d'autres RAD qui sont tout aussi utiles pour le développement de programmes visuels, tels que Visual Basic. Mais BASIC n'est pas connu comme le langage de programmation le plus puissant et le plus pratique ; de plus, les programmes écrits dessus se caractérisent par des performances relativement faibles.

Dans le même temps, il existe des langages de programmation qui ne sont pas moins puissants que Object Pascal et qui possèdent leurs propres RAD - tout d'abord, il s'agit du langage C++ ainsi que d'outils de développement aussi connus que Visual C++ et C++ Builder. Cependant, le C++ ne se compare pas favorablement au Pascal Objet en termes de facilité d'apprentissage. De plus, la création et le débogage de programmes en C++ sont relativement lents, bien que les programmes prêts à l'emploi s'exécutent aussi rapidement que ceux créés avec Delphi.

NOTE
A noter qu'au moment de son apparition en 1995, Delphi était un environnement vraiment unique combinant une programmation visuelle avec un compilateur d'optimisation et des outils pour travailler avec des bases de données.

En conséquence, nous obtenons un produit presque idéal pour le développement rapide de programmes : d'une part, une simplicité et une commodité comparables à Visual Basic, et d'autre part, la puissance, la vitesse et la flexibilité caractéristiques du C++.

Il convient de noter ici que le langage Pascal Objet utilisé dans Delphi a peu de points communs avec son ancêtre - le langage de programmation Pascal, que vous avez peut-être étudié à l'école ou à l'université. Tout d’abord, Delphi utilise un modèle de programmation purement orienté objet, alors que Pascal était un langage procédural classique. Quelle est l'essence des différences entre la programmation procédurale et la programmation orientée objet ? C’est la question que nous aborderons dans les deux prochains paragraphes.

Programmation procédurale et algorithmes

Presque tous les langages de programmation modernes sont de nature procédurale. Cela signifie que chaque programme est constitué d'un ensemble de procédures, dont chacune résout un problème particulier, tandis qu'une procédure peut en appeler n'importe quelle autre, y compris elle-même (cette dernière, c'est-à-dire une procédure qui s'appelle elle-même, est appelée récursivité) . Le programme lui-même est compilé sur la base d'algorithmes, et seules trois variétés d'entre eux suffisent : la sélection (fork), la répétition (cycle) et la transition. Cependant, ce dernier type n'est pratiquement pas utilisé dans la pratique en raison de sa mauvaise réputation (nous parlons de GOTO - l'opérateur autrefois bien-aimé, par désespoir, des programmeurs BASIC).

Regardons l'algorithme le plus simple - pour le jeu "devinez le nombre". La logique de son fonctionnement est que vous devez vérifier si le nombre est supérieur ou inférieur à celui caché, et si c'est le cas, vous afficherez l'indice correspondant, et s'il n'est ni supérieur ni inférieur (c'est-à-dire des correspondances), alors le jeu se termine . Le schéma fonctionnel d'un tel algorithme sera composé de 2 branches (Fig. 1.1).

Riz. 1.1. Organigramme d'un algorithme simple

La première étape ici consiste à demander à l'utilisateur un nombre A, qui est comparé deux fois avec un nombre B prédéfini. Tout d'abord, il vérifie si le nombre A est supérieur à B, et si c'est le cas, le programme signale qu'un nombre A est supérieur à B. Un "dépassement" s'est produit et revient aux numéros de point d'entrée. Si le nombre n'est pas supérieur, une deuxième comparaison a lieu - pour voir si A est inférieur à B. Si tel est le cas, un message s'affiche indiquant que le nombre est inférieur ("undershot") et, encore une fois, un retour au début. se produit. Mais si le nombre A n'est pas inférieur au nombre B, alors, étant donné qu'à l'heure actuelle on sait déjà qu'il n'est pas supérieur, il est donc égal au nombre B, et le programme se termine. En même temps, il peut afficher des félicitations à l'utilisateur pour avoir deviné le numéro.

Cet algorithme peut faire partie d'un autre algorithme. Par exemple, il n'existe aucune disposition permettant de générer lui-même le nombre qui doit être deviné. Il n’y a pas non plus d’option de relecture. Pour corriger cette situation, considérons un schéma fonctionnel de l'algorithme qui contrôle l'exécution du programme dans son ensemble (Fig. 1.2).


Riz. 1.2. Organigramme de contrôle du programme

Au début de l'exécution, un nouveau numéro est généré que l'utilisateur devinera. Vient ensuite le bloc de devinette lui-même, que nous avons déjà considéré (voir Fig. 1.1) - il est ici présenté sous la forme d'un module simple, car il n'affecte pas l'exécution du programme dans son ensemble. À la fin de ce bloc, nous avons une seule branche - en fonction de la réponse de l'utilisateur à l'offre de répéter le jeu. Donc, si la réponse est positive, alors le programme devra revenir au début, c'est-à-dire pour générer un nouveau numéro. Si l'utilisateur refuse, le programme doit être terminé.

La mise en œuvre spécifique d'un algorithme particulier dépend du langage de programmation utilisé, ainsi que des préférences du créateur du programme, car, en règle générale, la même construction peut être résolue en utilisant plusieurs méthodes différentes. Par exemple, vous pouvez utiliser à la fois des boucles et des instructions de saut inconditionnel pour revenir à un point indiqué sur un diagramme. Eh bien, les blocs eux-mêmes peuvent être placés dans des procédures distinctes et appelés comme sous-programmes. La seule caractéristique commune est l'opérateur conditionnel responsable du fork - dans presque tous les langages, et Pascal ne fait pas exception, il s'appelle IF. Cependant, nous aurons encore le temps de nous familiariser avec les opérateurs Object Pascal.

À propos de la programmation orientée objet

Si la sélection, la répétition et le saut sont les pierres angulaires de tout langage de programmation procédural, alors programmation orientée objet des concepts tels que l'encapsulation, l'héritage et le polymorphisme sont importants. Examinons plus en détail ces concepts, sans lesquels aucun langage supportant les objets ne peut être qualifié d'orienté objet.

NOTE
Le terme « objet » en programmation désigne un certain type de données complexe auquel peuvent être attachées des propriétés uniques pour ce type, et dans le cas de la POO, également des méthodes.

L'encapsulation est la combinaison de données et des sous-programmes qui les traitent (les méthodes) à l'intérieur d'un seul objet, appelé « classe » en POO. Cela signifie que la classe encapsule tout ce qui est nécessaire pour travailler avec un objet particulier.

L'héritage est un autre élément important de la POO. L'héritage signifie la possibilité de créer un type (objet) basé sur la définition d'un autre objet. Dans ce cas, toutes les propriétés et méthodes de l'objet parent peuvent être héritées par l'enfant. Par exemple, si nous avons un objet « voiture », alors sur cette base, nous pouvons créer un autre objet, par exemple « tram », qui héritera de toutes ses propriétés et recevra, en plus d'elles, certaines des siennes. A son tour, cet objet pourra également avoir ses propres descendants, etc. Le résultat est une arborescence d’objets appelée hiérarchie de classes.

En Pascal Objet, toutes les classes descendent d'un seul ancêtre - la classe TObject, qui implémente des actions sur un objet commun à toutes les classes, telles que la création et la suppression.

CONSEIL
Les versions en boîte de Delphi incluent une affiche montrant l'arborescence des classes pour tous les principaux composants Delphi. Par conséquent, si vous êtes l'heureux propriétaire d'un produit sous licence, vous pouvez étudier visuellement la structure de ce système en plaçant cette affiche sur votre lieu de travail.

Enfin, le troisième pilier sur lequel repose la POO est le polymorphisme, ou la capacité de créer des propriétés et des méthodes du même nom au sein d'objets liés, qui seront essentiellement différents. Disons que nous avons déjà les classes « voiture » et « tramway », et pour les deux la propriété « moteur » est définie, mais si pour une voiture le type de moteur est un objet d'un type, alors pour un tramway c'est complètement différent un.

Une autre caractéristique importante de la POO est le masquage, qui vous permet de rendre invisible un certain nombre de propriétés d'objet. En d’autres termes, si nous pouvons définir un objet de type « voiture », pour lequel, à leur tour, des propriétés telles que le châssis, le moteur et les roues sont définies. Ainsi, si le moteur et les roues peuvent être rendus visibles (et accessibles) partout où la classe « voiture » elle-même est disponible, alors le châssis ne le peut pas. En conséquence, l'accès à une telle propriété ne peut être obtenu que dans les parties du programme dans lesquelles la description de l'objet « machine » lui-même est effectuée. Ces propriétés sont dites protégées.

Plus de détails sur la programmation orientée objet seront abordés dans la deuxième partie de cette publication.

Programmation visuelle et Delphi

Ainsi, Delphi est un environnement qui fonctionne avec le langage de programmation structurelle orienté objet Object Pascal. En plus de cela, Delphi est également un environnement de développement visuel. En d’autres termes, déjà en train de créer un programme, vous pouvez voir à quoi il ressemblera lors de son exécution. La programmation visuelle réduit considérablement le temps nécessaire à la création d'une interface utilisateur pour les applications Windows. Avant l'avènement des outils de développement visuel, la programmation sous Windows se heurtait à de grandes difficultés, puisqu'il fallait calculer presque aveuglément l'emplacement de chaque contrôle dans la fenêtre de l'application, ce qui entraînait de nombreuses erreurs (Fig. 1.3).


Riz. 1.3. Approches classiques et visuelles pour créer une interface

Le fait que Delphi soit un environnement de développement visuel laisse sa marque sur le langage de programmation. En particulier, il fournit des moyens spéciaux pour que certaines propriétés des classes puissent être disponibles dès le stade du développement du programme, et pas seulement au moment de l'exécution. Mais la partie la plus importante de toute cette splendeur est la bibliothèque de classes - VCL (Visual Component Library). C'est la VCL qui cache toutes les aspérités des composants internes de Windows et vous permet de créer facilement des applications sans vous engager dans une guerre prolongée avec le traitement des messages système, des rappels, des poignées et des pointeurs.

Avec tout cela, bien entendu, personne ne vous interdit d'utiliser directement les fonctions Windows, en contournant la VCL, si nécessaire. Cependant, cela peut être très rarement nécessaire, donc pour un programmeur Delphi novice, rien d'autre que VCL n'est requis pour écrire des applications Windows.

Nous examinerons les composants visuels en détail dans la troisième partie de ce livre.

Versions Delphi et leurs différences

À la fin de la partie introductive, nous examinerons les différences entre les versions de Delphi, tout en étudiant l'histoire du développement de ce merveilleux environnement de développement.

Delphes 1. Lancé peu avant l'avènement de Windows 95, Delphi 1.0 a été le premier outil de développement d'applications Windows (3.1) à combiner un compilateur d'optimisation, un environnement de développement visuel et de puissants outils de base de données. Ce fut une véritable réincarnation du langage Pascal : il devint Object Pascal.

Delphes 2. La 2ème version de Delphi, sortie un an plus tard, proposait tout de même, mais pour les versions 32 bits de Windows (95/NT), devenant à nouveau le premier outil combinant un compilateur 32 bits, des outils pour travailler avec des bases de données et un visuel. environnement de développement, prenant en charge OLE (et après la sortie de la mise à jour Delphi 2.01 - et ActiveX). Le langage a également changé, devenant orienté 32 bits.

Delphes 3. Une nouvelle amélioration de Delphi dans toutes les directions a conduit à la sortie de la version 3, qui disposait d'un ensemble étendu d'outils pour créer des applications grâce à la prise en charge de COM et ActiveX. Dans cette version, pour la première fois, l'accent a été mis sur la possibilité de créer des applications pour Internet et un type de données non typé - variante - est apparu.

Delphes 4. Une autre étape clé du développement. Dans cette version, de nombreuses choses nouvelles et utiles ont été introduites pour simplifier le développement d'applications, notamment un nouvel environnement avec des astuces dynamiques, etc. Le modèle de travail avec les composants (VCL) a été amélioré et il est devenu possible d'utiliser rapidement des technologies telles que MIDAS, DCOM et CORBA. Dans cette version, le langage Object Pascal a également été amélioré : de nouvelles fonctionnalités caractéristiques de la POO moderne sont apparues, de nouveaux types de données ont été introduits, dont ceux 64 bits.

Delphes 5. Il y a eu tellement de changements dans Delphi 4 que, malheureusement, il y a eu quelques bugs et bugs ennuyeux. Le résultat a été la sortie de 3 packages de mise à jour (nos pirates les ont vendus sous le couvert de Delphi 4.1, 4.2 et 4.3). Mais Delphi 5 doit être considéré comme le package de mise à jour le plus complet et le plus correct - dans cette version, tout ce qui a été lancé dans Delphi 4 a été concrétisé.

Delphes 6. Avec la sortie de la sixième version, Borland a annoncé une nouvelle ère multiplateforme pour Delphi, en publiant simultanément une version de Delphi pour Linux (Kylix 1.0). Désormais, lors de la création d'une application, vous pouvez choisir son type - pour Windows ou universel. Ainsi, la bibliothèque VCL a été complétée par la bibliothèque CLX, compatible à la fois avec Windows et Linux. De plus, dans la 6ème version, ActiveX « native » et non étrangère, des composants permettant de travailler avec Internet sont enfin apparus, et dans les deux versions à la fois - pour VCL et CLX. À partir de cette version, le langage de programmation Object Pascal lui-même s'appelle officiellement Delphi.

Delphes 7. Poursuite du développement de Delphi 6, d'une bibliothèque CLX améliorée et d'une nouvelle version correspondante de l'environnement de développement pour Linux OS - Kylix 3. Dans le même temps, à partir de Delphi 7, Borland s'est préoccupé de la question de la compatibilité avec une autre plate-forme - Microsoft. NET, pour lequel certaines modifications ont été apportées à la fois dans la VCL et dans le langage (et, par conséquent, dans le compilateur).

Delphes 8. La première version de Delphi, axée sur le travail avec la plateforme Microsoft.NET. Dans cette version, les développeurs ont pris le risque de changer l'interface de l'environnement, la rendant similaire aux produits de Microsoft, le nouvel actionnaire majeur de Borland. En conséquence, le support de Kylix a été interrompu.

Delphes 2005. Moins d'un an après la sortie de Delphi 8, une nouvelle version est apparue, qui a rapidement restitué la possibilité de travailler dans le style IDE classique lors du développement d'applications pour Windows. Parallèlement, Delphi 2005, dans le cas du développement d'applications spécifiquement pour la plateforme NET, permet de travailler non seulement avec le langage Delphi, mais également avec C#. Dans le même temps, des innovations telles que l'opérateur for...in et les procédures et fonctions intégrées ont été introduites dans le langage Delphi lui-même.

Delphes 2006. La dernière version de Delphi publiée par Borland. Une version allégée a également été publiée - Turbo Delphes. Puis le voyage vers d’autres développeurs a commencé.

Delphes 2007. Version publiée par CodeGear. Ajout de la prise en charge de l'interface Aero pour Windows Vista.

Delphes 2009. Version publiée par Embarcodero. La prise en charge d'Unicode a été implémentée dans VCL et RTL, les appels à toutes les fonctions de l'API Windows ont été remplacés par des analogues Unicode, des types génériques et des méthodes anonymes ont été ajoutés.

Delphes 2010. La prise en charge de Windows 7, les composants tactiles et gestuels et les composants dbExpress prennent désormais officiellement en charge Firebird.

Delphi XE (Delphi 2011). Ajout de la prise en charge du cloud computing.

Avez-vous aimé l'article? Partagez-le
Haut